2014-02-22 113 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