4

我正在使用 JsRender 来呈现模板客户端。但是,我无法使用 for 循环标记来重复块的 html 部分,因为它似乎只接受数组或对象。相反,我的 JSON 返回一个数字变量(我应该重复该块的次数)。如何使用 JsRender 重复 html N 次?

4

2 回答 2

4

我扩展了@webdeveloper 的答案,因为不需要额外的循环,因为 javascript 数组的工作方式只需要定义最后一个元素

$.views.helpers({
    repeatLoop: function( count ) {
        if (!count) return [];
        var repeat = [];
        repeat[count-1] = {};
        return repeat;
    }
});

然后用作

@{{for ~repeatLoop(10)}}
    {{:#index+1}}
@{{/for}}
于 2016-02-27T17:35:24.467 回答
3

我不确定 JsRender 是否提供了这个功能。您可以编写自己的标签,如下所示:示例场景:创建自定义助手以遍历字段

$.views.helpers({
    getFields: function( count ) {
        var fieldsArray = [];
        for (var i=0; i < count; i++) {
            fieldsArray.push({});
        }

        return fieldsArray;
    }
});

演示:http: //jsfiddle.net/6UeZC/

于 2012-10-24T17:30:56.740 回答