0 0

EXTJS作用域的问题。0



MyGridPanel = Ext.extend(Ext.grid.GridPanel, {
constructor : function() {
MyGridPanel.superclass.constructor.call(this, {
renderTo : Ext.getBody(),
width : 350,
height: 300,
frame: true,
title: '用户信息',
sm: new Ext.grid.RowSelectionModel({
singleSelect:true,
listeners : {
rowselect : {
fn : function(_s, _i, _r) {
alert(this.title);
},
scope : this
                                                //这里指向的this指向它MyGridPanel我明白,主要是下一个不明白
}
}
}),
store : _jsonStore,
colModel : new Ext.grid.ColumnModel([
{ header: "用户名", width: 60, sortable: true},
{ header: "密码", width: 60, sortable: true}
]),
viewConfig: {
        forceFit: true
    }
});
}
});

//下一个
var _myGrid = new Ext.grid.GridPanel({
renderTo : Ext.getBody(),
title: '用户信息',
sm: new Ext.grid.RowSelectionModel({
singleSelect:true,
listeners : {
rowselect : {
fn : function(_s, _i, _r) {
alert(this.title);
},
scope : this
//为什么这里的this却不指向—myGrid 而是window对象呢?
}
}
}),
store : _jsonStore,
colModel : new Ext.grid.ColumnModel([
{ header: "用户名", width: 60, sortable: true},
{ header: "密码", width: 60, sortable: true}
])
});
第一个例子的scope指向的是我自定义的GridPanel
为什么第二个例子的scope指向的是Window
2012年10月05日 21:53
目前还没有答案

相关推荐

Global site tag (gtag.js) - Google Analytics