我尝试使用索引实现每个:{{#eachIndex}},但我发现的所有代码示例似乎都已被弃用:
UI.registerHelper('eachIndex', function () {
var withIndex = _.map(this, function(x, i) {
x.index = i;
return x;
});
return UI.Each(function() {
return withIndex;
}, UI.block(null), UI.block(null));
});
UI.block未定义。
我有另一个片段试图将参数传递给模板,但它也失败了,所以我的猜测是我完全错了:
UI.registerHelper('clearfix', function () {
return UI.With((function() {
return {attributes:{class:this.col}};
}), Template._clearfix);
});
答案 0 :(得分:0)
对于第一个助手,您不需要显式调用UI.each,而是要做的是返回数据(以及索引)并使用把手在模板中迭代它们。例如:
UI.registerHelper('eachIndex', function () {
var items = Items.find().fetch();
var withIndex = _.map(items, function(x, i) {
x.index = i;
return x;
});
return withIndex;
});
在模板中:
{{#each eachIndex}}
{{someProperty}}
{{index}}
{{/each}}
将参数传递给模板非常简单:
{{> templateName var=someVar}}