如何使用jsrender / jsviews 循环如下所示的嵌套json?
var data = {
nested: {
page: {
type: "X",
items: {
"0":{"title":"page - hello"},
"1":{"title":"page - world"}
}
},
post: {
type: "Y",
items: {
"0":{"title":"post - hello"},
"1":{"title":"post - world"}
}
}
}
};
模板,
{{for nested}}
<div>
<h1>Type: {{ :type }}</h1>
{{for items}}
<p>Title: {{:title}} </p>
{{/for}}
</div>
{{/for}}
结果,
Type: {{ :type }}
我在追求什么,
Type: X
Title - page - hello
Title - page - World
Type: Y
Title: post - hello
Title: post - World
答案 0 :(得分:2)
JsRender和JsViews有一个{{props}}标签用于迭代字段,但尚未完全记录。最新的实施即将推出,文档将随之而来。 [请参阅下面的更新,其中包含现有文档的链接]
现在看一下这个相关的堆栈交换答案:
以及此处的示例:
现在记录了 更新: {{props}}
,此处:http://www.jsviews.com/#propstag
答案 1 :(得分:0)
我认为您遇到的问题是您在数据中声明对象而不是数组。尝试使用下面的数据。
var data = {
nested: {
{
type: "X",
items: {
"0":{"title":"page - hello"},
"1":{"title":"page - world"}
}
},
{
type: "Y",
items: {
"0":{"title":"post - hello"},
"1":{"title":"post - world"}
}
}
}
};
这种方式嵌套是一个数组,for应该可以循环遍历它。