1

我对 javascript 和 extjs 都很陌生,在尝试执行 extjs 4.1 MVC Architecture 教程的步骤时遇到了这个问题。一开始一切都很好,但是当我尝试将控制器添加到应用程序时出现问题。应用程序启动函数和控制器初始化函数都没有被调用。我在这里使用了示例代码,但我无法让“定义控制器”步骤正常工作。它发现 Users.js 没有错误消息,但它仍然不会调用控制器的 init 函数。如果我删除“控制器:['Users']”,将调用应用程序启动。有什么我想念的想法吗?

应用程序.js:

Ext.application({
requires: ['Ext.container.Viewport'],
name: 'Account Manager',

appFolder: 'app',

controllers: ['Users'],

launch: function() {...}

用户.js:

Ext.define('app.controller.Users', {
extend: 'Ext.app.Controller',

init: function() {
        console.log('Initialized Users!');
}
});

感谢您的时间。

4

1 回答 1

1

您的错误是(Ext.Application)

name: 'Account Manager',

这是name 属性的 API 链接。

将其更改为:

name: 'app', // I would use camelcase here

解释:

不允许在应用程序名称中使用空格。此外,它更像是一个名称空间,而不是一个名称。之后,您必须在所有类中使用它(这将是您的视图、控制器模型和存储的命名空间)。

于 2012-11-13T15:05:18.073 回答