2012-12-16 27 views
0

我正在使用Brunch框架開始新的Ember應用程序:Brunch with Ember。我創建了一個簡單的ApplicationController和內容屬性設置爲一個空對象:內容屬性在新Brunch-Ember應用程序中未定義

var App = require('app'); 

App.ApplicationController = Em.ObjectController.extend({ 
    content: { } 
}); 

但是,當我在瀏覽器中加載應用程序,App.ApplicationController.content的內容屬性未定義。另外set和pushObject函數也沒有在App.ApplicationController上定義。任何想法我失蹤?

回答

1

您剛纔在那裏定義了您的Controller類。您需要創建類的實例。

通常你做到這一點:

App.initialize(); 

在這種情況下灰燼將實例控制器爲您服務。你會在App.router.applicationController路徑中找到你的控制器。

但你也可以手動實例控制器,例如:

App.yourController = App.ApplicationController.create(); 
+0

謝謝,但早午餐與Ember確實在從我的索引稱爲initialize.js做一個App.initialize()。嘗試手動實例化(使用.create和.extend)會導致應用程序完全失敗,並顯示「未捕獲錯誤:斷言失敗:您必須在應用程序中定義一個ApplicationController」假設分支編譯應用程序的順序沒有'不喜歡它在那個時候被實例化,因爲它稍後會做。 –

+1

好的,我不知道。但是,你的錯誤是在App.ApplicationController上測試你的東西。因爲我是這只是你的課。如果Brunch沒有爲你使用App.initialize(),你會在App.router.applicationController上找到控制器實例。這個對象的內容應該沒有定義,並且提到的方法pushObject應該可以工作。 – mavilein

+0

這工作,我需要通過路由器打電話給他們。 –

相關問題