我正在使用ExtJS 4.1 RC3 - 遵循MVC模式。今天是我第一次在任何控制器初始化之前需要实现一些逻辑。我记得Ext.app.Application中的this方法,并决定将其投入使用。
似乎永远不会被解雇,我找不到应该解雇的东西。
我发现有一个small unanswered thread关于此方法自2011年9月起无效。海报的解决方案是重构他的应用程序。这是否适用于其他所有人或没有其他人使用它?
我的编码方式与使用启动方法的方式相同。那是错的吗?这是代码的样子:
// app.js
Ext.application({
name: 'MyApp',
autoCreateViewport: true,
controllers: ['myController'],
init: function() {
console.log('init'); // this never gets called
},
launch: function() {
console.log('launch'); // this works fine
}
});
答案 0 :(得分:3)
这是框架中的一个错误。我推出了一个有望进入4.1.1版本的修复程序。
答案 1 :(得分:3)
我在ExtJs 4.0.7中工作并且init方法不会触发(bug) 无论好坏,我的解决方法是自己打电话。
launch: function() {
this.init();
console.log('launch'); // this works fine
}
现在可以访问上面的init方法:
init: function() {
console.log('init'); // this gets called
// For example here's a quick way to stop an Ext Task...
this.on({
stopEvents: function() {
Ext.TaskManager.stopAll();
}
})
}
},