我有一个控制器,它是一个ArrayProxy并包含一些计算数组。
在coffeescript中,我的控制器看起来像这样:
MyApp.parentController = Ember.ArrayProxy.create
content: []
mothers: (->
mothers = (person for person in @get("content") when person.sex == 0)
).property("content")
fathers: (->
fathers = (person for person in @get("content") when person.sex == 1)
).property("content")
这很好用,当我从命令行请求'MyApp.parentController.get(“mothers”)'时,我会返回预期的数组。
现在我想在我的文档中显示该集,所以我想迭代母亲名单:
<div id="parent-mothers-pool">
{{#each MyApp.parentController.mothers}}
{{#view MyApp.ParentView contentBinding="this"}}{{/view}}
{{/each}}
</div>
这不起作用,实际上完全挂起了应用程序,永远旋转,甚至没有向控制台打印任何错误。
离开#each车把的“.mother”会正确地显示所有父母,正如您所期望的那样。但把它放在borks上。
如何迭代此计算数组?
答案 0 :(得分:0)
您应该在ParentMothersPool
视图中定义一个绑定,指向控制器的mothers
属性:
MyApp.EnclosingView = Ember.View.extend
mothersBinding: 'MyApp.parentController.mothers'
然后在模板中:
{{#each mothers}}
...