1

アンダースコア テンプレートでは、次のような if ロジックを実行できます。

<% if(type === 'video') { %>
    // Something
<% } %>

ハンドルバーで同様のことができますか? これを試しましたが、うまくいきません:

{{#if type === 'video'}}
    // Something
{{/if}}

ヘルパーも使用してみましたが、まだうまくいきません:

Handlebars.registerHelper('isVideo', function(type) {
    if(type === 'video') {
        return true;
    }
    return false;
});

{{#if isVideo type}}
    // Something
{{/if}}
4

2 に答える 2

2

やり方がある

 Handlebars.registerHelper('ifCond', function(v1, v2, options) {
  if(v1 === v2) {
    return options.fn(this);
  }
  return options.inverse(this);
});

次に、このようにテンプレートでヘルパーを呼び出すことができます

 {{#ifCond v1 v2}}
    {{v1}} is equal to {{v2}}
{{else}}
    {{v1}} is not equal to {{v2}}
{{/ifCond}}
于 2013-09-23T17:18:25.903 に答える