在循環中訪問外部#each集合值的標準方式是什麼? 例如:如何在嵌套循環中訪問外部{{#each}}集合值
<template name="example">
{{#each outerCollection}}
<tr>
{{#each innerCollection}}
<td>{{aaa}}</td>
{{/each}}
</tr>
{{/each}}
</template>
Template.example.aaa = function(){
// cannot access outerCollection values
}
在上述Template.example.aaa
,this
點到內收集。
我無法找到訪問outerCollection項目的方法。 我的解決方案如下所示,我正在定義自己的幫助器功能。 這是一個標準的Meteor方式來達到這個目的嗎?
<template name="example">
{{#each outerCollection}}
<tr>
{{#each innerCollection}}
<td>{{myHelper ../outerItem innerItem}}</td>
{{/each}}
</tr>
{{/each}}
</template>
Handlebars.registerHelper('myHelper', function (outItem, inItem) {
// can access outerCollection via outerItem
});
我發現了一個similar question對於內部事件處理程序的訪問情況。
我認爲就是這樣。問題究竟是什麼? –
感謝您的評論。我發佈這個問題是因爲我對自己的代碼沒有信心,因此無法找到流星示例代碼。我想知道是否有人知道更聰明的實現。 – hyde
這裏是更好的方法,不需要registerHelper,如上所述,下面的語法可以工作:Template.example.myHelper = function(outItem,inItem){/ *可以通過outItem * /}訪問outerCollection item; – hyde