是否可以使用Mustache进行条件渲染?示例:如果我想根据X的状态显示不同的值? 例如
if x.value=1
<td>
<span class="label label-success">{{this.X1}}</span></td>
else x.value=2
<td>
<span class="label label-warning"{{this.X2}}</span></td>
else if x.value=3
<td>
<span class="label label-inverse"{{this.X3}}</span> </td>
答案 0 :(得分:5)
我相信你唯一能做的就是检查布尔属性,例如
{{#IsLate}}
<span class="late">You owe me money, sucka.</span>
{{/IsLate}}
{{^IsLate}}
<span class="on-time">No money due at this time.</span>
{{/IsLate}}
您可能希望构建一个适合您需要的新包装器对象。
答案 1 :(得分:2)
在深入研究文档后,我发现可以使用帮助程序实现这一点:
Handlebars.registerHelper('HelperName', function (status) {
var statusClass = {
'1': 'label-inverse',
'2': 'label-important',
'3': 'label-warning',
'4': 'label-success'
};
return statusClass[status];
});
并在模板中使用它,如:
<td>
<span class="label {{HelperName this.myStatus}}">TEXT</span>
</td>