注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

飞天心宏的博客

依稀旧梦似曾见,相逢只恨缘太迟

 
 
 

日志

 
 
关于我

出身数学,爱好文学,从事软件开发工作。一个阳光、幽默、热爱生活的男孩子,在追求理想的路上风雨无阻,勇往直前,崇尚“梦想有多远,我们就走多远”!

Extjs4 开启Loader实现动态加载  

2011-12-31 16:14:39|  分类: Extjs4 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

根据Extjs4的新特性:Dependency Loading/Dynamic Loading,可以做到根据需要动态加载js文件。

要实现动态加载,前提条件是将Ext.Loader进行开启,否则将会得到一下错误提示:

uncaught exception: Ext.Loader is not enabled, so dependencies cannot be resolved dynamically.

修改方式,在Ext.onReady方法或Ext.application前加如下代码即可:

       Ext.Loader.setConfig({enabled:true});

 

原理扩展:

       根据这个原理,我们可以将Extjs4 Desktop例子中classes.js的引用去掉。我想如果自己研究过官网的desktop例子的话,那么加载classes.js肯定特别不舒服,要修改代码特别麻烦。

      仔细的人容易发现,其实classes.js中的内容,其实就是desktop例子所有代码的压缩版本,所以就有人提出了将classes.js引用去掉的方式,然后取而代之的是加载一堆的js,这个方法没错,但是完全就是做表面功夫。

      再仔细看看源代码,我们可以发现其实每个定义的js,都是用了requires的配置,那么这表示我们应该使用Extjs4的新特性了。直接把classes.js的引用删除,然后对照修改如下代码:

        Ext.Loader.setConfig({ enabled: true });
        Ext.Loader.setPath({
            'Ext.ux.desktop': 'js',
            'MyDesktop': ''
        });

        Ext.require('MyDesktop.App');

        var myDesktopApp;
        Ext.onReady(function () {
            //myDesktopApp = new MyDesktop.App();     
            myDesktopApp = Ext.create('MyDesktop.App');  //推荐Ext.create方法,取代new
        });

试试,是不是感觉很好?!  

 

结束语:尽量使用Extjs4的新特性和推荐方法,以后你会发现它的好处!

 

 

  评论这张
 
阅读(5381)| 评论(3)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018