3
我有這個視圖MessagesView
我想呈現n
子視圖,每個子視圖都是MessageView
。Ember.js:將參數傳遞給使用Handlebars呈現的子視圖{{view}}幫助器
車把模板部分,爲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})}}
我沒有看到任何方式來做到這一點。有人能指出我有什麼計劃可以讓我這樣做,或者可以概述任何其他標準做法嗎?
編輯:
我看到,可以通過{{view}}
幫手,像這樣被傳遞到子視圖viewName
屬性,here:
{{#view viewName="aChildByName"}} hi {{/view}}
我猜我問如何將其他通用屬性發送到子視圖。
EDIT 2
大多爲未來的訪客,這在Components討論中被提及。
大聲笑。沒有期待這一點。我幾乎試圖盲目地嘗試。順便說一句,它在文檔中的任何地方都提到過嗎? –
我相信至少已經提到它,但現在我找不到它了。 –
沒關係。在這裏找到它:http://emberjs.com/guides/components/passing-properties-to-a-component/ –