2012-11-13 56 views
1

我對JavaScript和extjs都相當陌生,在嘗試運行extjs 4.1 MVC Architecture教程的步驟時遇到了這個問題。 Evereything在開始時起作用,但當我嘗試將控制器添加到應用程序時出現問題。應用程序啓動功能和控制器初始化函數都不會被調用。我使用了這裏的示例代碼here,但我無法獲得「定義控制器」步驟的工作。它發現Users.js沒有錯誤消息,但它不會調用控制器的init函數。如果我刪除'controllers:['Users']',應用程序啓動將被調用。任何想法我失蹤?extjs 4.1.0控制器的初始化函數將不會被調用

app.js:

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

appFolder: 'app', 

controllers: ['Users'], 

launch: function() {...} 

Users.js:

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

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

謝謝您的時間。

+0

嗯......我把它只是錯過了'});'在'app.js'結尾?你也有任何錯誤在您的控制檯? – Izhaki

+0

語法正確,只是我沒有精確地複製它。不幸的是,我沒有在控制檯上收到任何錯誤消息。 – Peter

回答

1

你錯誤的是(Ext.Application)

name: 'Account Manager', 

這裏的API鏈接,name property

將其更改爲:

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

說明:

不允許您在應用程序名稱中使用空格。此外,它更像是一個名稱空間,然後是一個名稱。之後,您必須在所有類中使用它(這將是視圖,控制器模型和存儲的名稱空間)。

+0

它確實有效,謝謝。我認爲這是在這裏計數的appfolder參數,但它是名稱。 – Peter

+0

@Peter歡迎您:) – sra