0

我正在尝试使用 index: {{#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);
});
4

1 回答 1

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}}
于 2014-10-11T22:07:03.107 回答