4

JsRenderを使用してテンプレートをクライアント側でレンダリングしています。ただし、配列またはオブジェクトのみを受け入れるように見えるため、forループタグを使用してブロックのhtml部分を繰り返すことはできません。代わりに、JSONは数値(ブロックを繰り返す必要がある回数)である変数を返します。JsRenderを使用してhtmlをN回繰り返すにはどうすればよいですか?

4

2 に答える 2

4

最後の要素を定義するだけでよい方法でjavascript配列が機能しているため、追加のループは必要ないため、@webdeveloperの回答を拡張しました。

$.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 に答える