我有一个属性值为“0”(零)的模型。我的模板看起来像这样:
{{#count}}{{{count}}} items{{/count}}
{{^count}}-{{/count}}
如果myModel.count = 0
,则呈现的 html 什么都不是。这就像值“count”同时为空而不是空。
此案例的 Mustache 文档:https ://github.com/janl/mustache.js#inverted-sections
我有一个属性值为“0”(零)的模型。我的模板看起来像这样:
{{#count}}{{{count}}} items{{/count}}
{{^count}}-{{/count}}
如果myModel.count = 0
,则呈现的 html 什么都不是。这就像值“count”同时为空而不是空。
此案例的 Mustache 文档:https ://github.com/janl/mustache.js#inverted-sections
@bobthecow 在他的评论中回答了这个问题:
它不会显示零,因为零是错误的。使其显示的一种选择是将其设置为非假值(如字符串“0”)
一种方法是使用 lambda 来检查值。
http://jsfiddle.net/Bodman/yb83s/
var data = {
"dataset" : [
{count: 0},
{count: -1},
{count: 2},
{count: false},
{no_count:'yay'}
],
"check_zero": function () {
return function (text, render) {
var result = '';
var count = this.count;
if(!isNaN(parseFloat(count)) && isFinite(count)){
result = count;
}else {
result = render(text);
}
return result;
}
}
}
希望有帮助。
不干净但有效
{{#data.value}}
{{data.value}}
{{/data.value}}
{{^data.value}}
0
{{/data.value}}