7、ExtJs——Ext基础架构--动态加载js文件--很重要
2014-09-19 11:00
387 查看
Ext4.X提供的一大亮点就是Ext.Loader这个类的动态加载机制,只要遵循路径规范,即可动态加载js文件,方便把自己扩展组件动态加载进来,并减轻浏览器的压力。
关于动态加载机制,是在4.x中使用MVC模式一个必备的工作,学习好动态加载,以后去用Ext基于前台MVC模式下的开发至关重要。
定义并显示一个窗体,最原始的写法:
Ext.create('Ext.window.Window',{
title:'fsdafsd',
height:300,
width:400,
constrain:true,
modal:true,
html:'窗体内容',
renderTo:Ext.getBody()
}).show();
先定义一个自己的窗体类,然后再创建:
Ext.onReady(function(){
//window组件
/**
Ext.create('Ext.window.Window',{
title:'fsdafsd',
height:300,
width:400,
constrain:true,
modal:true,
html:'窗体内容',
renderTo:Ext.getBody()
}).show();
*/
//Ext 的MVC
//自己定义的一个类:MyWindow
Ext.define('MyWindow',{
extend:'Ext.window.Window', //继承Ext.window.Window
title:'fsdafsd',
height:300,
width:400,
constrain:true,
modal:true,
html:'窗体内容',
renderTo:Ext.getBody()
});
var w1 = Ext.create('MyWindow');
var w2 = Ext.create('MyWindow',{
title:'我是w2'
});
var w3 = Ext.create('MyWindow',{
title:'我是w3'
});
w2.show();
});
将自己定义的类写在一个单独的js文件中,在js/Extjs/下新建文件夹 ux,创建MyEindow.js文件
//define的类名,一定要严格按照包的层次路径去编写
Ext.define('<span style="color:#ff0000;"><strong>js/ExtJs/ux/MyWindow</strong></span>',{
extend:'Ext.window.Window', //继承Ext.window.Window
title:'我是动态加载进来的',
height:300,
width:400,
constrain:true,
modal:true,
html:'窗体内容',
renderTo:Ext.getBody()
});动态调用这个js文件
Ext.onReady(function(){
//window组件
/**
Ext.create('Ext.window.Window',{
title:'fsdafsd',
height:300,
width:400,
constrain:true,
modal:true,
html:'窗体内容',
renderTo:Ext.getBody()
}).show();
*/
//Ext 的MVC
//自己定义的一个类:MyWindow
/**
Ext.define('MyWindow',{
extend:'Ext.window.Window', //继承Ext.window.Window
title:'fsdafsd',
height:300,
width:400,
constrain:true,
modal:true,
html:'窗体内容',
renderTo:Ext.getBody()
});
var w1 = Ext.create('MyWindow');
var w2 = Ext.create('MyWindow',{
title:'我是w2'
});
var w3 = Ext.create('MyWindow',{
title:'我是w3'
});
w2.show();
*/
//-------------------------------------------
//动态加载一个js文件,需要的时候在加载
//第一步:在js/ExtJs/添加文件夹(ux)
//在这个ux下新建一个结束文件并定义自己的类
//第二步:在js/ExtJs/ux下编写自己的扩展组件(类)
//第三步:启用Ext动态加载机制,并设置要加载的路径
Ext.Loader.setConfig({
enabled:true,
paths:{
ppd:'js/ExtJs/ux'
}
});
//第四步:创建类的实例并使用
Ext.create('js/ExtJs/ux/MyWindow').show();
//Ext的requires和uses也可以动态加载
});需要注意的是:
自定义类的文件其文件名要与类名完全一样,类的定义中,类名要包含路径层次,不能出错。
在ExtJs的MVC模式中,用到的requires 或 uses使用的动态加载机制就是这里的原理。
关于动态加载机制,是在4.x中使用MVC模式一个必备的工作,学习好动态加载,以后去用Ext基于前台MVC模式下的开发至关重要。
定义并显示一个窗体,最原始的写法:
Ext.create('Ext.window.Window',{
title:'fsdafsd',
height:300,
width:400,
constrain:true,
modal:true,
html:'窗体内容',
renderTo:Ext.getBody()
}).show();
先定义一个自己的窗体类,然后再创建:
Ext.onReady(function(){
//window组件
/**
Ext.create('Ext.window.Window',{
title:'fsdafsd',
height:300,
width:400,
constrain:true,
modal:true,
html:'窗体内容',
renderTo:Ext.getBody()
}).show();
*/
//Ext 的MVC
//自己定义的一个类:MyWindow
Ext.define('MyWindow',{
extend:'Ext.window.Window', //继承Ext.window.Window
title:'fsdafsd',
height:300,
width:400,
constrain:true,
modal:true,
html:'窗体内容',
renderTo:Ext.getBody()
});
var w1 = Ext.create('MyWindow');
var w2 = Ext.create('MyWindow',{
title:'我是w2'
});
var w3 = Ext.create('MyWindow',{
title:'我是w3'
});
w2.show();
});
将自己定义的类写在一个单独的js文件中,在js/Extjs/下新建文件夹 ux,创建MyEindow.js文件
//define的类名,一定要严格按照包的层次路径去编写
Ext.define('<span style="color:#ff0000;"><strong>js/ExtJs/ux/MyWindow</strong></span>',{
extend:'Ext.window.Window', //继承Ext.window.Window
title:'我是动态加载进来的',
height:300,
width:400,
constrain:true,
modal:true,
html:'窗体内容',
renderTo:Ext.getBody()
});动态调用这个js文件
Ext.onReady(function(){
//window组件
/**
Ext.create('Ext.window.Window',{
title:'fsdafsd',
height:300,
width:400,
constrain:true,
modal:true,
html:'窗体内容',
renderTo:Ext.getBody()
}).show();
*/
//Ext 的MVC
//自己定义的一个类:MyWindow
/**
Ext.define('MyWindow',{
extend:'Ext.window.Window', //继承Ext.window.Window
title:'fsdafsd',
height:300,
width:400,
constrain:true,
modal:true,
html:'窗体内容',
renderTo:Ext.getBody()
});
var w1 = Ext.create('MyWindow');
var w2 = Ext.create('MyWindow',{
title:'我是w2'
});
var w3 = Ext.create('MyWindow',{
title:'我是w3'
});
w2.show();
*/
//-------------------------------------------
//动态加载一个js文件,需要的时候在加载
//第一步:在js/ExtJs/添加文件夹(ux)
//在这个ux下新建一个结束文件并定义自己的类
//第二步:在js/ExtJs/ux下编写自己的扩展组件(类)
//第三步:启用Ext动态加载机制,并设置要加载的路径
Ext.Loader.setConfig({
enabled:true,
paths:{
ppd:'js/ExtJs/ux'
}
});
//第四步:创建类的实例并使用
Ext.create('js/ExtJs/ux/MyWindow').show();
//Ext的requires和uses也可以动态加载
});需要注意的是:
自定义类的文件其文件名要与类名完全一样,类的定义中,类名要包含路径层次,不能出错。
在ExtJs的MVC模式中,用到的requires 或 uses使用的动态加载机制就是这里的原理。
相关文章推荐
- ExtJs 4.x 学习小记:Ext.require动态加载js文件
- Ext JS学习第十天 Ext基础之动态加载JS文件(补充)
- 在Extjs模块化程序中动态加载js文件
- Ext动态加载JS文件
- ExtJS4.x动态加载js文件
- 6、ExtJs——Ext基础架构--认识Ext.js和Ext-more.js
- [extjs3.4]延迟、动态加载js文件
- 如何用Ext中的panel动态的加载js文件,我用的了autoLoad,并将其属性scripts设成了true,但还是不行
- Ext动态加载JS文件
- 动态加载js文件 document.createElement
- 动态加载JS文件
- 动态加载外部.js文件时候,javascript的执行顺序问题
- 动态加载js文件
- 动态加载、移除、替换js/css文件
- 使用JS动态在页面加载CSS文件
- 动态加载JS文件并执行
- [原创 js]调试的新花招,利用firebug动态加载js库文件
- 解决_动态加载JS文件_调用时出错
- 用ajax动态加载需要的js文件【原创】
- 动态加载js文件