我正在使用ExtJS 4进行Web应用程序开发。我需要多次解雇extjs event。直到现在我做了所有的东西而没有在发射事件时添加范围。它工作正常,但想知道作为范围的第三个参数的目的是什么,也是可选的。我在这里拍两张快照。任何人都可以帮我理解范围,on方法的第三个参数?提前致谢。抱歉我的英文。
store.on('load',function(store, records, successful, eOpts){
/**do some stuff here..*/
});
store.on('load',function(store, records, successful, eOpts){
/**do some stuff here..*/
},[scope]); //scope added
答案 0 :(得分:3)
查找
...
store.on({
load: {
fn: this.someFn,
scope: window
}
});
...
someFn: function(...) {
console.log(this); // output: "Window /_display/" in FF
}
如果您将范围配置为scope: store
,那么someFn === store中的“this”。
E.t.c。
使用您的代码:
store.on('load',function(store, records, successful, eOpts){
console.log(this); // output: Object { your_component_instance }
});
store.on('load',function(store, records, successful, eOpts){
console.log(this); // output: Object { store_instance }
}, store); //scope added