Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.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中的需求API访问itemController中的属性_Ember.js - Fatal编程技术网

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

如何通过Ember.js中的需求API访问itemController中的属性,ember.js,Ember.js,当我通过需求API访问控制器的内容时,如何访问itemController的属性 App.PostsIndexController = Ember.ArrayController.extend itemController: 'post' someAction: -> console.log("i'm melting!") App.PostController = Ember.ObjectController.extend someComputedProperty: (-&g

当我通过需求API访问控制器的内容时,如何访问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']

{{#controllers.postsIndex.content中的每个post}
{{someComputedProperty}}
点击
{{/每个}}
我在
索引
模板中尝试了
{{controllers.postsIndex.someComputedProperty}}
{{someComputedProperty}}

当我通过需求API访问控制器的内容时,如何访问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']
首先,应该将
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>

您是否尝试过
{{{{#controller itemController=“post”}{{someComputedProperty}}{{/each}}}
?我尝试过,但似乎someComputedProperty在更改时不会更新,尽管它在页面加载时计算正确。另外,添加
itemController
inline会破坏
someAction
(用该部分更新的问题)目标不应该是
controller
?我将接受你的答案,因为上半部分是正确的。围绕内容循环是我的问题。制定行动目标也起到了作用。我感到困惑的部分是
{{someComputedProperty}}
如何知道访问itemController,但最后一件事是将
post
添加到
IndexController
中的needs数组中。谢谢
App.PostController = Ember.ObjectController.extend
  someComputedProperty: (-> true ).property('title', 'someotherproperty', 'etc')