jquery - jsrender/jsviews : how to loop a selected object list?

标签 jquery json jsrender jquery-1.9 jsviews

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

json,

 { 
"ID1": {
        "items":{
            "0": "VALUE1",
            "1": "VALUE2",
            "2": "VALUE3",
            "4": "VALUE4"
        }
    },
"ID2": { 
        "items": {
            "0": "VAL2-1",
            "1": "VAL2-2",
            "2": "VAL2-3"
        }
    }
}

js,

myTmpl2 = $.templates("#myTmpl2");
    $("#result2").html(
        myTmpl2.render(data2)
    );

模板,

<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>

结果,

ID1     0 - VALUE1  1 - VALUE2  2 - VALUE3  4 - VALUE4
ID2     0 - VAL2-1  1 - VAL2-2  2 - VAL2-3

我追求的结果,

结果,

ID2     0 - VAL2-1  1 - VAL2-2  2 - VAL2-3

可能吗?

顺便问一下,{{props #data}}中的#data是什么意思(我正在使用它,但不明白它!)?

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

最佳答案

#data 是当前数据项(或数据上下文,如果您愿意的话)。 请参阅http://www.jsviews.com/#assigntag获取说明这一点的示例。

事实上,#data#view.data 的缩写,而 #view 是当前的“ 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>

其他变体:

{{for ID2}}
    <tr>
        <td>ID2</td>
        {{props items}}
            <td>{{>key}} - {{>prop}}</td>
        {{/props}}
    </tr>
{{/for}}

或者:

{{props #data}}
    {{if key === "ID2"}}
        <tr>
            <td>{{:key}}</td>
            {{for prop}}
                {{props items}}
                    <td>{{>key}} - {{>prop}}</td>
                {{/props}}
            {{/for}}
        </tr>
    {{/if}}
{{/props}}

关于jquery - jsrender/jsviews : how to loop a selected object list?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20900963/

相关文章:

javascript - 在 ('mouseenter' )(this).显示特定 div 中的文本

json - 解析 JSON、MS Access VBA(嵌套循环)

json - 使用 jq 只从流中获取第一个 json 对象,不要触摸其余的

jsrender - 如何在jsrender中设置评论

php - jQuery 自动完成不适用于动态表单字段

javascript - 无法打开触发框

javascript - 包含带有 PHP 代码的 javascript 文件

javascript - KendoUI ComboBox 显示 REST JSON 的错误解析

JsRender。通过顶部循环的对象进行嵌套循环

javascript - 在 jsrender 模板内绑定(bind)事件