我的路由結構:Ember.js RC1 - 控制器「需求」另一個尚不存在
App.ready = function() {
App.Router.map(function() {
this.resource('contacts', function() {
this.resource('contact', function() {
});
});
});
}
現在在我的contactsController
我回應並add
的行動,過渡到接觸路線。然後我想在我的contactController
上撥打add
方法。
我已經放在needs: ['contact']
我ContactController
但後來我得到這個消息:
<App.ContactsController:ember197> needs controller:contact but it does not exist
當我使用controllerFor
(其中爲不建議使用)我還得到一個錯誤:
this.controllerFor('contact').add();
因此,一旦實際轉換到適當的路由,Ember.js RC1似乎只創建控制器(和其他相關實例)。
有沒有辦法解決這個問題。
OK,我看到我做錯了什麼。對於聯繫人,我有一個「ContactIndexController」,因爲我也在玩聯繫下嵌套的資源。在這種情況下,我需要'需要:['contactIndex']'。我還在'ContactController'中有'needs:['contacts']',所以控制器在處理'needs'時似乎不需要實例化。命名約定與'Index'後綴有點混淆,但不是火車粉碎。一旦我更好地掌握了Ember,它可能會有意義。 – 2013-03-20 08:21:56