【发布时间】:2013-11-23 03:16:26
【问题描述】:
我有一个容器视图,其中显示对象列表,如下所示:
{{#each}}
<div {{bind-attr class="author.first_name task"}}></div>
{{/each}}
我想在每次将 DOM 元素添加到此列表时挂钩一个 Javascript 函数。我试过做:
didInsertElement: function() { ... }
但是这个钩子显然只在第一次初始化视图时运行。我想也许钩子没有运行,因为视图实际上插入了一次,而多次插入的只是嵌套元素。
那么我应该使用嵌套视图吗?
我尝试了一些类似的方法:
{{#each}}
{{#view App.SingleItemView}}
<div {{bind-attr class="author.first_name task"}}></div>
{{/view}}
{{/each}}
但在这种情况下,尽管它以某种方式工作,但它没有传递必要的数据来呈现属性,例如author.first_name。
【问题讨论】:
-
当我第一次接触 Ember 时,我也对此感到困惑。简而言之,是的,使用嵌套视图。 template-helpers guide 有有用的信息,特别是在底部,它显示了每个助手正在使用的上下文。使用
view时可以指定模型绑定,如{{view App.AuthorView authorBinding=this}}。 -
谢谢@somethingkindawierd 这真的很有帮助。
标签: javascript model-view-controller ember.js