Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js控制器需要和子控制器_Ember.js - Fatal编程技术网

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在这里有一篇关于各种帮助者的博客文章: