我在本文中阅读了如何在 mustache.js 中使用 if/else 。
现在我的问题是,可以在if
语句中使用比较运算符吗?
像(只是我举了一个错误的例子):
{{#ItemIndex==0}}
<td>{{ItemIndex}}</td>
{{/ItemIndex}}
{{^ItemIndex==0}}
<td>{{ItemIndex}} *</td>
{{/ItemIndex}}
怎么做 ?
你不能用 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。