官方提供四个围绕于Ext
(例子已汉化),如下图所示:
起初页面加载的只是基本调用的代码,而实际的代码必须经过动态请求从服务端获取回来。运行这些例子都需要事前部署在服务器之上才可以,不用动态的服务器亦可,并且建议读者在测试例子的同时打开您的Firebug一边运行程序,一边留意AJAX是如何从服务端哪里加载文件的,从第一个例子的一份文件到第四例子的六分文件的情形都有。注意观察“Net”网络面板的结果即可,如下图所示。
只要是下载过的了类便不会再下载的了。也就是说,如果前面的例子下载过同一份的js文件,那么后面的例子再遇到需要这份js文件的话,便自动认出,不会多一次地去下载。我们可以刷新多次页面,每次点击不同例子观察调试的结果试试看。所用的示例程序都是简单的类,直接点链接就可以看到代码。
加载后立刻创建product实例弹出对话框。
Ext.require('Product', function() {
var product = new Product();
product.setName('Ext JS 4');
alert("产品名称是:" + product.getName());
});
例子运行结果如下图所示:
异步加载的类如下:
// 这是最简单的类,在例子一所使用。这个类不依赖其他类所以一加载例子后即刻运行。
Ext.define('Product', {
config: {
name: 'Product Name'
}
),并没有加载,因此加载器会先加载User,然后SuperUser,再执行回调函数。
Ext.require('SuperUser', function() {
var superUser = new SuperUser();
superUser.setEmail('[email protected]');
alert("是否超级用户?" + superUser.isSuper());
的hackAway方法:
Ext.require('Developer', function() {
var dev = new Developer();
dev.setEmail('[email protected]');
dev.hackAway();
)。
Ext.require('Architect', function() {
var ed = new Architect();
// 来自MadSkills的混入
ed.hackAway();
// 来自LeetSkills的混入
ed.makeItBetter();
// 来自RevertChanges的依赖
ed.revertCommits(2);