我无法从父控制器定位子控制器。
有这个:
<script type="text/x-handlebars" data-template-name="parent">
<h1>Parent controller</h1>
{{control "child"}}
</script>
<script type="text/x-handlebars" data-template-name="child">
<h2>Child controller</h2>
{{controller}}
</script>
App.ParentController = Ember.Controller.extend({
needs: ["child"],
applyActionOnChild:function(){
this.get('controllers.child').someAction();
}
});
App.ParentView = Ember.View.extend({});
App.ChildController = Ember.Controller.extend({
someAction:function(){
//Called but not the right instance
};
});
App.ChildView = Ember.View.extend({});
当子控制器调用父控制器而不是反过来时,ember的需求功能似乎有效...
如果我在someAction方法中放置一个断点,我可以看到我有一个不同于子视图上显示的对象引用...
任何人都知道这有用吗?
提前致谢
答案 0 :(得分:1)
在您的示例中指定{{controller "child"}}
,您的意思是{{control "child"}}
吗?如果不难说出你想要做什么。
需求功能用于将控制器单例连接在一起,但控制助手在新控制器/视图对的上下文中呈现模板。您不能使用需要访问这些控制器,因为无法知道您的意思是哪个实例。
听起来你想要在一个真正的childController
单身的上下文中呈现“子”模板。在这种情况下,使用渲染助手:{{render "child"}}