5

我有一个属性值为“0”(零)的模型。我的模板看起来像这样:

    {{#count}}{{{count}}} items{{/count}}
    {{^count}}-{{/count}}

如果myModel.count = 0,则呈现的 html 什么都不是。这就像值“count”同时为空而不是空。

此案例的 Mustache 文档:https ://github.com/janl/mustache.js#inverted-sections

4

3 回答 3

2

@bobthecow 在他的评论中回答了这个问题:

它不会显示零,因为零是错误的。使其显示的一种选择是将其设置为非假值(如字符串“0”)

于 2013-08-28T21:03:49.343 回答
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;
    }
  }
}

希望有帮助。

于 2013-01-11T19:49:14.610 回答
0

不干净但有效

{{#data.value}}
    {{data.value}}
{{/data.value}}
{{^data.value}}
    0
{{/data.value}}
于 2022-01-02T02:30:07.277 回答