Mustache JavaScript:如何处理布尔值

33
我有一个JavaScript对象obj,键的值可以是truefalse。这个值会被传递到mustache模板中。
// JavaScript对象
obj = {
    like: true // or false
}

// 模板

<span>
   {{ like }}
</span>

现在我希望以这种方式获取渲染结果:

<span>
   Like <!-- If {like: true} --->
</span>

<span>
   Unlike <!-- If {like: false} --->
</span>

如何在mustache模板中最好地实现它?

2个回答

67

就像这样:

<span>
    {{#like}}
        Like <!-- If {like: true} --->
    {{/like}}
    {{^like}}
        Unlike <!-- If {like: false} --->
    {{/like}}
</span>

我们可以将条件写成(例如==2)... {{#like==2}}。 - Amit Battan
为了做一些比"if"或"unless"更复杂的事情,你需要创建一个帮助程序。像这样的东西:https://gist.github.com/doginthehat/1890659 - kcent

14

只需使用一个 section 和一个反转的 section:

{{#like}}
<span>
   Like <!-- If {like: true} --->
</span>
{{/like}}

{{^like}}
<span>
   Unlike <!-- If {like: false} --->
</span>
{{/like}}

5
我更喜欢这个答案,而不是被接受的答案,因为得到的区间可能有自己的类别,应相应地应用于它。例如,“喜欢”或“不喜欢”可以显示为赞或踩。 - JGallardo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接