Javascript 如何使用Mustache迭代JSON数组
我不熟悉JSON和胡子。我正在尝试迭代使用Mustache创建的数组,但遇到了一些问题。我的代码如下所示:Javascript 如何使用Mustache迭代JSON数组,javascript,json,mustache,Javascript,Json,Mustache,我不熟悉JSON和胡子。我正在尝试迭代使用Mustache创建的数组,但遇到了一些问题。我的代码如下所示: var shows=[ {"title":"Strawberry Shortcake","description":"A show about a cake","video":"none","category":"chilren"}, {"title":"Vanilla Ice","description":"A show about a
var shows=[
{"title":"Strawberry Shortcake","description":"A show about a cake","video":"none","category":"chilren"},
{"title":"Vanilla Ice","description":"A show about a ice","video":"none","category":"adult"}
];
var template="{{#shows}}{{.}}{{/shows}}";
var html=Mustache.render(template,shows);
document.write(html);
您希望“shows”位于散列中,以便正确迭代:
var shows={"shows":[
{"title":"Strawberry Shortcake","description":"A show about a cake","video":"none","category":"chilren"},
{"title":"Vanilla Ice","description":"A show about a ice","video":"none","category":"adult"}
]};
var template="{{#shows}}{{.}}{{/shows}}";
var html=Mustache.render(template,shows);
document.write(html);
这将产生多次生成模板的预期效果
更新
关于兰博达斯的问题。我只是在网上查了一下。我认为它涵盖了你所问的问题:
当值是可调用对象(如函数或lambda)时
对象将被调用并传递文本块。文本通过了
是文字块,未渲染。{{tags}}}将不会被展开
-lambda应该自己做这件事。通过这种方式,您可以实现过滤器或缓存
模板:
{{#wrapped}}
{{name}} is awesome.
{{/wrapped}}
散列:
{
“姓名”:“威利”,
“包装”:函数(){
返回函数(文本){
返回“+渲染(文本)+”
}
}
}
你可以这样做:
var shows=[
{"title":"Strawberry Shortcake","description":"A show about a cake","video":"none","category":"chilren"},
{"title":"Vanilla Ice","description":"A show about a ice","video":"none","category":"adult"}
];
var template="{{#.}}title:{{title}},video:{{video}}{{/.}}";
var html=Mustache.render(template,shows);
document.write(html);
变量显示=[
{“标题”:“草莓酥饼”,“描述”:“蛋糕秀”,“视频”:“无”,“类别”:“儿童”},
{“标题”:“香草冰”,“描述”:“关于冰的表演”,“视频”:“无”,“类别”:“成人”}
];
var template=“{{{{}.}}标题:{{{title}},视频:{{{video}}{{/}}”;
var html=Mustache.render(模板,显示);
document.write(html);
请解释这些问题。你期望什么呢?你写的是“interate”而不是“iterate”。我不能自己编辑它,因为它只是一个字符。下面的问题。有没有一种方式可以让胡子本身支持过滤结果的功能。例如,我只想显示类别值为成人的位置? var shows=[ {"title":"Strawberry Shortcake","description":"A show about a cake","video":"none","category":"chilren"}, {"title":"Vanilla Ice","description":"A show about a ice","video":"none","category":"adult"} ]; var template="{{#.}}title:{{title}},video:{{video}}{{/.}}"; var html=Mustache.render(template,shows); document.write(html);