关于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审美疲劳了可以换换这个。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值