我在这个article中阅读了如何在mustache.js中使用if / else。
现在我的问题是,可以在if
语句中使用比较运算符吗?
喜欢(只是我给出了一个错误的例子):
{{#ItemIndex==0}}
<td>{{ItemIndex}}</td>
{{/ItemIndex}}
{{^ItemIndex==0}}
<td>{{ItemIndex}} *</td>
{{/ItemIndex}}
怎么做?
答案 0 :(得分:2)
你不能用Mustache做到这一点。
但是,由于您对等于0(假数字)的值感兴趣,您可以这样做:
/*
Template:
{{#objs}}
{{^ItemIndex}}
{{ItemIndex}}*
{{/ItemIndex}}
{{#ItemIndex}}
{{ItemIndex}}
{{/ItemIndex}}
{{/objs}}"
*/
var template = "{{#objs}}{{^ItemIndex}}{{ItemIndex}}*{{/ItemIndex}}{{#ItemIndex}}{{ItemIndex}}{{/ItemIndex}}\n\n{{/objs}}"
document.getElementsByTagName('body')[0].textContent = (Mustache.render(template, {objs: [
{
ItemIndex: 0
},
{
ItemIndex: 1
},
{
ItemIndex: 2
}
]}))
// result => 0* 1 2
如果您需要 if / else在模板中构造并且像Mustache语法一样,那么您应该查看Handlebars.js。