使用JsRender进行简单循环

时间:2012-10-24 16:53:22

标签: javascript jquery jsrender

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

2 个答案:

答案 0 :(得分:3)

我不确定,JsRender是否提供此功能。您可以编写自己的标记,例如:Example Scenario: Creating custom helpers to iterate through fields

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

        return fieldsArray;
    }
});

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

答案 1 :(得分:2)

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

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

然后用作

@{{for ~repeatLoop(10)}}
    {{:#index+1}}
@{{/for}}