首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >EmberJS:控制器的needs接口如何使用?

EmberJS:控制器的needs接口如何使用?
EN

Stack Overflow用户
提问于 2013-04-09 21:27:49
回答 1查看 412关注 0票数 1

两周前,我发布了一个问题,我认为该问题与RC2:EmberJS: in RC2, how to use "needs" for a controller when {{render}} is called multiple times?中更新的{{render}}有关

现在,我认为它要么比这更广泛,要么我误解了如何使用"needs“API,因为在使用较旧的”itemController“时也会发生这种情况。

请考虑以下几点:

代码语言:javascript
运行
复制
App.Parent = Ember.Object.extend({
    name: null,
    children: null, // An Ember array of Child objects
});

App.Child = Ember.Object.extend({
    name: null,
});

App.ParentController = Ember.ObjectController.extend({
});

App.ChildController = Ember.ObjectController.extend({
    needs: 'parent',
});

我的模板是这样的:

代码语言:javascript
运行
复制
<script type="text/x-handlebars" data-template-name="application">
    {{#each parent in App.parents itemController='Parent'}}
        {{partial 'parent'}}
    {{/each}}
</script>

<script type="text/x-handlebars" data-template-name="_parent">
    In parent: {{controller}}<br>
    Name: {{name}}<br>
    <br>
    {{#each child in children itemController='Child'}}
        {{ partial 'child' }}
    {{/each}}
</script>

<script type="text/x-handlebars" data-template-name="_child">
    Child name: {{name}}<br>
    Parent Name: {{controllers.parent.name}}<br>
    <br>
</script>

为什么{{controllers.parent.name}}总是空?

http://jsfiddle.net/8V9xQ/5/

谢谢

PJ

EN

回答 1

Stack Overflow用户

发布于 2013-04-09 22:01:27

为此,您不必使用needs API,只需在您的子模板中编写{{parent.name}}而不是{{controllers.parent.name}},并从App.ChildController中删除needs: 'parent'行。

您可以使用needs API引用单例控制器,而itemController不是单例控制器。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15903270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档