0

是否可以使用 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>
4

2 回答 2

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}}

您可能想研究构建一个适合您需要的新包装器对象。

于 2012-06-20T15:48:21.023 回答
2

在深入研究文档后,我发现可以使用 Helpers 来实现:

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>
于 2012-06-20T16:55:36.173 回答