Ember.js控制器需要和子控制器
我无法从父控制器定位子控制器 具有以下特征:Ember.js控制器需要和子控制器,ember.js,Ember.js,我无法从父控制器定位子控制器 具有以下特征: <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"> <
<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({});
父控制器
{{控制“子”}
子控制器
{{controller}}
App.ParentController=Ember.Controller.extend({
需要:[“儿童”],
applyActionChild:function(){
this.get('controllers.child').someAction();
}
});
App.ParentView=Ember.View.extend({});
App.ChildController=Ember.Controller.extend({
someAction:函数(){
//调用但不是正确的实例
};
});
App.ChildView=Ember.View.extend({});
当一个子控制器调用父控制器时,ember的“需要”功能似乎起作用,但反之亦然
如果我在someAction方法中放置断点,我可以看到我有一个不同于子视图中显示的对象引用
有人知道这是怎么回事吗
提前感谢在您的示例中,您指定了
{{controller“child”}
,您的意思是{{controller“child”}
?如果不难知道你想做什么
“需要”功能用于将控制器单例连接在一起,但控件辅助对象在新控制器/视图对的上下文中呈现模板。您不能使用需求来访问这些控制器,因为需求无法知道您指的是哪个实例
听起来您希望在一个true
childController
singleton的上下文中呈现“child”模板。在这种情况下,请使用渲染帮助程序:{{render“child”}
很酷,很高兴这有帮助。FWIW{{control}}
helper仍然是实验性的,如果它被应用到公共API中,官方文档将遵循它。同时@darthdeus在这里有一篇关于各种帮助者的博客文章: