关于ExtJS3.1与ExtJS4.2的区别

1.可以使用alias来为组件添加别名,类似以前的Ext.reg,不过alias会用不同的类别区分开来,例如,widget.xxxxx和feature.xxxxx是不一样的,虽然它们都是用alias来定义的,但是类别完全不同。 
2.包和命名空间的改变 
现在的ExtJS不再使用混乱的分包机制(其实以前的感觉更加直白),例如以前的Window,包名是Ext.Window,但是现在则是Ext.window.Window,Ext.window包下还包括了Ext.window.MessageBox等。SplitButton则是Ext.button.Split。 
3.创建新对象
现在ExtJS使用Ext.define函数来创建组件类,该函数还能实现自动加载js类(uses属性,需设置Ext.Loader为开启详见下文,看不懂看API),它会自动的完成以前的ns(namespace)功能。例如下面 
Js代码
Ext.ns(“Foo.bar”); 

Foo.bar = Ext.extend(Ext.util.Observable,{
        //your code here
});
Ext.reg(“foobar”,Foo.bar); 

所以现在创建一个组件应该是这样的: 
Js代码
Ext.define(“Foo.bar”,{
        extend : “xxxxxx”,
        alias : “widget.foobar”
        //your code here
}); 

现在ExtJS不再使用new关键字(当然你想用也没关系),而是推荐使用Ext.create函数来解决这个问题,例如以往我们创建一个组件的代码是 
Js代码
var win = new Ext.Window({
        //some options
}); 

而现在则是 
Js代码
var win = Ext.create(“Ext.window.Window”,{
        //some options
}); 

4.Ext.env.Browser 
ExtJS3有Ext.isIE、Ext.isFF等方法判断浏览器,这次ExtJS4不仅仅保留了以前的函数,还提供了更为强大Ext.env包来干这些事情,这个包下面还有其他两个类:
Ext.env.OS,顾名思义判断操作系统的,还新增了一些操作系统(主要是移动领域的操作系统)
if (Ext.os.is.Windows) {
     // Windows specific code here

if (Ext.os.is.iOS) {
     // iPad, iPod, iPhone, etc.

5.Ext.env.FeatureDetector,这个是新加的,主要用于判断HTML5和CSS3的,例如 
CSS3/动画/转换
Canvas/ SVG/ VML
触摸屏是否可用/方向
地理位置(html5的东西相信不陌生吧?)
SqlDatabase
WebSockets
History
音频
视频

6.Model代替了store的功能,store中一个变化就是baseParams变成了extraParams
Js代码
Ext.define(‘User’, {
    extend: ‘Ext.data.Model’,
    fields: [
        {name: ‘name’,  type: ‘string’},
        {name: ‘age’,   type: ‘int’}
    ]
}); 

Ext.create(“Ext.data.Store”,{
    modal:”User”,
    proxy{
        url : “xxxx.do”,
        type : “ajax”
    }
}) 

7.Proxy中新增了一个localStorage(Ext.data.proxy.LocalStorage)用于过渡到Html5的localStorage等等。 
Draw绘图 
这个东西喜欢吗?我喜欢嘿嘿 
ExtJS4中提供了绘图,夸浏览器的,它内部实现了Canvas、SVG、VML等绘图方法,所以不同的浏览器它会自动使用该浏览器支持的绘图方式。支持IE6789、基于Gecko的浏览器(FF)、基于WebKit内核的浏览器(Chrome)。 
8.Lang包的修改 
9.ExtJS4的senchaSDKtools里面还提供了theme的制作,ExtJS审美疲劳了可以换换这个。
---------------------
作者:零零历险记
来源:CSDN
原文:https://blog.csdn.net/qq_34639706/article/details/74316093
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/Alex_81D/article/details/84579173