【发布时间】:2015-07-06 20:40:13
【问题描述】:
首先,我有这个文件结构:
Module1/
init.js
store/
...
view/
Module1Panel.js
controller/
Module1Controller.js
Module2/
init.js
store/
...
view/
Module2Panel.js
controller/
Module2Controller.js
在 Module1 中,我像这样加载 Module2:
#module1/init.js
...
Ext.application({
paths:{
'Module2':'/app/Module2'
},
...
controllers:['Module1Controller','Module2.controller.Module2Controller']
});
由于我在控制台中看到的所有这些,所有控制器、所有视图、所有商店和模型都已加载。目前一切看起来都很完美,除了一件令人讨厌的事情——Module2 的控制器没有捕捉到任何事件。我的意思是,我不能让这段代码工作
#Module2Controller.js
...
init:function(){
this.control({
'Module2Panel button[itemId=test2]':{
click:this.click();
}
});
console.log('Hello from init'); //this works
},
click:function(){
console.log('Hello from click'); //this does not work on button click
}
我想我知道控制器应该如何工作。至少,Module1controller 可以完美运行。我逐点逐行进行。所以,我认为不应该有任何重大错误。否则,我不会看到我所有的控制器、视图、商店和模型都在加载。请告诉我如何调试我的代码并捕获错误。 PS。我想,Module2只有一个特别的地方,那就是它是从Module1加载的。因此,它不是一个“普通”模块,因此可能存在一些缺失的初始化步骤。
【问题讨论】:
标签: extjs model-view-controller