ExtJS事件和函数中的范围用法

时间:2013-08-17 10:14:27

标签: events extjs scope

我正在使用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

1 个答案:

答案 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