5

値が「0」(ゼロ)のモデルがあります。私のテンプレートは次のようになります。

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

の場合myModel.count = 0、レンダリングされたhtmlは何もありません。これは、値「count」がnullであると同時にnullではないようなものです。

この場合の口ひげのドキュメント:https ://github.com/janl/mustache.js#inverted-sections

4

3 に答える 3

2

@bobthecowは彼のコメントでそれに答えました:

ゼロは偽であるため、ゼロは表示されません。表示するための1つのオプションは、false以外の値(文字列「0」など)に設定することです。

于 2013-08-28T21:03:49.343 に答える
0

1つの方法は、ラムダを使用して値をチェックすることです。

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 に答える