我有这个视图MessagesView
我要在其中呈现n
类型的MessageView
子视图。
MessagesView
的把手模板部分如下所示:
{{#each message in controller}}
{{#link-to "message" message class="list-group-item"}}
{{view view.messageView}}
{{/link-to}}
{{/each}}
视图定义非常简单,唯一有趣的部分可能是:
MessagesView = Ember.View.extend({
messageView: MessageView,
...
});
MessageView = Ember.View.extend({
messageId = 0;
});
我想将MessageView.messageId
初始化为{{#each}}
帮助中的特定值message.id
。像这个假设的代码块:
{{view view.messageView({messageId: message.id})}}
我认为没有办法做到这一点。有人能指出一个允许我这样做的计划,或者可能勾勒出任何其他标准做法吗?
修改
我看到viewName
属性可以通过{{view}}
帮助程序传递给子视图,如here:
{{#view viewName="aChildByName"}} hi {{/view}}
我想我正在问如何将其他通用属性发送到子视图。
编辑2
主要针对未来的访问者,在Components的讨论中提到了这一点。
答案 0 :(得分:4)
您可以通过在调用视图时将其添加为“属性”来实现此目的。
{{#each message in controller}}
{{#link-to "message" message class="list-group-item"}}
{{view view.messageView messageId=message.id}}
{{/link-to}}
{{/each}}
请参阅this fiddle了解样本。