我有这个JSON:
{
status: "ok",
posts: [ {
id: 1362,
type: "ser",
slug: "av-ss-xiii-3",
fields: {
price: [ "550" ],
sale: [ "rent" ]
}
} ]
}
我正在用胡子解析它,但正如你所看到的......字段不是一个对象数组,它是一个带有两个带数组值属性的对象......
{{#posts}}
<h1>{{type}}</h1>
{{#fields}}
<p> {{price}}:{{value}}</p>
{{/fields}}
{{/posts}}
我认为在解析过程中我会犯一个错误,导致它对价格值无效。
答案 0 :(得分:1)
您的模板即将开始运作。我可以看到的问题是{{value}}期望字段对象中的键不存在。您的模板目前使用冒号输出价格,然后不输出任何内容:
<h1>ser</h1>
<p> 550 :</p>
也许您认为{{value}}会输出550,或者您的意思是输出销售价值。在这两种情况下,将值包装在数组中有点奇怪:[“550”]。这并不重要,因为每个元素中只有一个元素,这根本不会使您的模板复杂化。我只能猜测您想要的输出是什么,但允许我在工作示例中演示您的模板。
{{#posts}}
<h1>{{type}}</h1>
{{#fields}}
<p> {{price}} : {{sale}}</p>
{{/fields}}
{{/posts}}
这将为您的数据输出以下HTML:
<h1>ser</h1>
<p> 550 : rent</p>
这是一个jsFiddle来说明:template with multiple posts
我冒昧地编造了第二个post对象,以演示您的数据如何使用集合呈现。我还猜测你可能想要输出价格和销售价值。
我认为您已经理解了这一点,但要明确,{{#fields}} ... {{/ fields}}的工作方式与条件类似,因为字段是对象而不是数组。没关系。如果字段是假的(例如,undefined或false),则模板将不会呈现p元素。
请注意我在jsFiddle中使用了jQuery,但只是为了方便访问模板和DOM元素。
我希望有所帮助,但如果您有任何疑问请与我联系。如果这不是您想要的,请编辑您的问题以描述您想要的输出。
答案 1 :(得分:0)
最后我发现它......这是'方法'的问题,使用.toHtml它没有提供任何数组...使用.render它工作正常! 感谢