jsrender/jsviews:如何循环选定的对象列表?

lau*_*kok 4 jquery json jsrender jsviews jquery-1.9

如何仅从我的json数据循环选定的组/对象列表?例如,我只想在下面的例子中循环"ID2",

JSON,

 { 
"ID1": {
        "items":{
            "0": "VALUE1",
            "1": "VALUE2",
            "2": "VALUE3",
            "4": "VALUE4"
        }
    },
"ID2": { 
        "items": {
            "0": "VAL2-1",
            "1": "VAL2-2",
            "2": "VAL2-3"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

JS,

myTmpl2 = $.templates("#myTmpl2");
    $("#result2").html(
        myTmpl2.render(data2)
    );
Run Code Online (Sandbox Code Playgroud)

模板,

<script id="myTmpl2" type="text/x-jsrender">
{{props #data}}
    <tr>
            <td>{{:key}}</td>

                {{for prop}}
                    {{props items}}

                     <td>{{>key}} - {{>prop}}</td>

                    {{/props}}
                {{/for}}


            </tr>
{{/props}}
</script>
Run Code Online (Sandbox Code Playgroud)

结果,

ID1     0 - VALUE1  1 - VALUE2  2 - VALUE3  4 - VALUE4
ID2     0 - VAL2-1  1 - VAL2-2  2 - VAL2-3
Run Code Online (Sandbox Code Playgroud)

我追求的结果,

结果,

ID2     0 - VAL2-1  1 - VAL2-2  2 - VAL2-3
Run Code Online (Sandbox Code Playgroud)

可能吗?

什么#data意思{{props #data}}(我正在使用它,但不理解它!)?

如果我只想选择一个团体,我可以这样做{{props #data.ID2}}吗?

Bor*_*ore 5

#data是当前数据项(或数据上下文,如果您愿意).有关说明此内容的示例,请参见http://www.jsviews.com/#assigntag.

其实#data是短期的#view.data#view是当前"视图".请参阅此示例,例如:http://www.jsviews.com/#samples/jsr/paths.

数据路径如foo.bar在当前数据项开始,所以#data.foo.barfoo.bar是相等的.

在上面的示例中,您可以通过以下方式直接访问该ID2对象:

<tr>
    <td>ID2</td>
    {{props ID2.items}}
        <td>{{>key}} - {{>prop}}</td>
    {{/props}}
</tr>
Run Code Online (Sandbox Code Playgroud)

其他变种:

{{for ID2}}
    <tr>
        <td>ID2</td>
        {{props items}}
            <td>{{>key}} - {{>prop}}</td>
        {{/props}}
    </tr>
{{/for}}
Run Code Online (Sandbox Code Playgroud)

要么:

{{props #data}}
    {{if key === "ID2"}}
        <tr>
            <td>{{:key}}</td>
            {{for prop}}
                {{props items}}
                    <td>{{>key}} - {{>prop}}</td>
                {{/props}}
            {{/for}}
        </tr>
    {{/if}}
{{/props}}
Run Code Online (Sandbox Code Playgroud)