2014-02-22 86 views
2

我有一個自定義控制器的灰燼視圖。該視圖需要知道其父視圖,因此它聲明瞭「需求」。但是,不知何故,我似乎無法從模板中檢索自定義控制器; 「控制器」屬性綁定到父視圖,而不是我當前的視圖。獲取自定義控制器的灰燼視圖

我創建了一個JSBin是illustratest問題:http://jsbin.com/muwikora/3/edit

由於輸出顯示,「控制器」被綁定到ApplicationController中,而不是MyViewController,我本來期望。

我看到MyViewController被創建並在我可以存儲它的路徑中可用,但它似乎不是一個很好的解決方案。什麼是正確的做法?

回答

2

handlebars視圖助手不會允許您指定一個控制器用於您的視圖。它允許您使用當前上下文呈現視圖,這就是爲什麼您將應用程序控制器視爲您的控制器的原因,在應用程序模板內調用{{view App.MyView }}將通過其ApplicationController的上下文

呈現輔助程序更符合您的需求將允許您即時創建視圖/控制器堆棧。

參見修訂JSBin:http://jsbin.com/muwikora/4/edit

結帳這個答案詳細信息:ember.js + handlebars: render vs outlet vs partial vs view vs control

我鼓勵你也可以參考討論創建複雜的意見的最佳做法。使用渲染有一些後果,你應該知道的http://discuss.emberjs.com/t/best-practices-when-creating-a-complex-page-render-vs-component-vs-view/4045/2

+0

完美。這顯然比我想象的要複雜得多,但是對於我的用例來說,一個觀點應該可以做得很好。感謝指針! – ehrencrona