1

我正在使用 ExtJS 4.1 RC3 - 遵循 MVC 模式。今天是我第一次需要在任何控制器初始化之前实现一些逻辑。我从 Ext.app.Application 中记住了这个方法,并决定使用它。

它似乎永远不会被解雇,我也找不到应该解雇它的东西。

从 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
    }

});
4

2 回答 2

3

这是框架中的一个错误。我已经提出了一个修复程序,希望能将其纳入 4.1.1 版本。

于 2012-05-13T01:53:51.807 回答
3

我正在使用 ExtJs 4.0.7 并且 init 方法不会触发(错误)无论好坏,我的解决方法是自己调用它。

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();
      }

    })
  }
},
于 2012-11-07T17:09:13.033 回答