2014-10-28 32 views
2

我在我的應用程序中設置了一組嵌套資源。我需要爲我的一些路線使用beforeModel和afterModel掛鉤。但是,當試圖調用一個函數或獲取另一個控制器的屬性時,我收到一個錯誤,指出the controller named {name} cannot be found。當我嘗試在我的嵌套路由中使用this.controllerFor('name')時,會發生這種情況。有沒有解決方法?不能在Ember中使用controller/For嵌套資源

+0

'controllerFor'已被棄用。你應該使用'needs:[]'。這裏是我寫到的有關這個的最近答案:http://stackoverflow.com/a/25175102/1710611 – rog 2014-10-29 05:49:39

回答

2

爲了使用controllerFor必須定義控制器。如果你的控制器是動態生成的,要求Ember給你它不起作用。在setupController階段解析所有模型(包括模型掛鉤之前和之後)之後,纔會生成控制器。

+0

看看我的代碼有一些重構,我推薦去除controllerFor的需要。感謝您的澄清! – csm232s 2014-10-28 21:01:59