gpt4 book ai didi

ember.js - 如何通过 Ember.js 中的需求 API 访问 itemController 中的属性

转载 作者:行者123 更新时间:2023-12-02 05:58:14 27 4
gpt4 key购买 nike

当我通过需求 API 访问 Controller 的内容时​​,如何访问 itemController 的属性?

App.PostsIndexController = Ember.ArrayController.extend
itemController: 'post'
someAction: -> console.log("i'm melting!")

App.PostController = Ember.ObjectController.extend
someComputedProperty: (-> true ).property()

App.IndexController = Ember.Controller.extend
needs: ['postsIndex']
<script type="text/x-handlebars" data-template-name="index">
{{#each post in controllers.postsIndex.content}}
{{someComputedProperty}}
<a {{action someAction target="postsIndex"}}>click</a>
{{/each}}
</script>

我在 index 模板中尝试了 {{controllers.postsIndex.someComputedProperty}}{{someComputedProperty}}

最佳答案

How can I access the properties of an itemController when I'm accessing the content of a controller via the needs API?

首先,您应该将 controllers.postsIndex 传递给 {{each}} 助手而不是 controllers.postsIndex.content。否则,{{each}} 助手将循环遍历您的模型对象,而不通过 PostsIndexController。所以就像@MilkyWayJoe 建议的那样,尝试类似的方法:

<script type="text/x-handlebars" data-template-name="index">
{{#each post in controllers.postsIndex}}
{{someComputedProperty}}
<a {{action someAction target="postsIndex"}}>click</a>
{{/each}}
</script>

I tried that, but it seems that someComputedProperty doesn't update when it changes, although it calculates correctly on page load.

除非您指定依赖项列表,否则 Ember 计算属性不会更新:

App.PostController = Ember.ObjectController.extend
someComputedProperty: (-> true ).property('title', 'someotherproperty', 'etc')

关于ember.js - 如何通过 Ember.js 中的需求 API 访问 itemController 中的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15844071/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com