天天看点

ExtJS 4 动态加载的演示例子

官方提供四个围绕于Ext

(例子已汉化),如下图所示:

ExtJS 4 动态加载的演示例子

起初页面加载的只是基本调用的代码,而实际的代码必须经过动态请求从服务端获取回来。运行这些例子都需要事前部署在服务器之上才可以,不用动态的服务器亦可,并且建议读者在测试例子的同时打开您的Firebug一边运行程序,一边留意AJAX是如何从服务端哪里加载文件的,从第一个例子的一份文件到第四例子的六分文件的情形都有。注意观察“Net”网络面板的结果即可,如下图所示。

ExtJS 4 动态加载的演示例子

只要是下载过的了类便不会再下载的了。也就是说,如果前面的例子下载过同一份的js文件,那么后面的例子再遇到需要这份js文件的话,便自动认出,不会多一次地去下载。我们可以刷新多次页面,每次点击不同例子观察调试的结果试试看。所用的示例程序都是简单的类,直接点链接就可以看到代码。

加载后立刻创建product实例弹出对话框。

Ext.require('Product', function() {

var product = new Product();

product.setName('Ext JS 4');

alert("产品名称是:" + product.getName());

});

例子运行结果如下图所示:

ExtJS 4 动态加载的演示例子

异步加载的类如下:

// 这是最简单的类,在例子一所使用。这个类不依赖其他类所以一加载例子后即刻运行。

Ext.define('Product', {

config: {

name: 'Product Name'

}

),并没有加载,因此加载器会先加载User,然后SuperUser,再执行回调函数。

Ext.require('SuperUser', function() {

var superUser = new SuperUser();

superUser.setEmail('[email protected]');

alert("是否超级用户?" + superUser.isSuper());

ExtJS 4 动态加载的演示例子

的hackAway方法:

Ext.require('Developer', function() {

var dev = new Developer();

dev.setEmail('[email protected]');

dev.hackAway();

ExtJS 4 动态加载的演示例子

)。

Ext.require('Architect', function() {

var ed = new Architect();

// 来自MadSkills的混入

ed.hackAway();

// 来自LeetSkills的混入

ed.makeItBetter();

// 来自RevertChanges的依赖

ed.revertCommits(2);

继续阅读