一尘不染

handlebars.js {{#if}}中的逻辑运算符

javascript

handlebars JS中是否可以将逻辑运算符合并到标准handlebars.js条件运算符中?像这样:

{{#if section1 || section2}}
.. content
{{/if}}

我知道我可以编写自己的帮助程序,但是首先我想确保自己不会重新发明轮子。


阅读 1334

收藏
2020-04-25

共1个答案

一尘不染

这可以通过与帮手助手“作弊”来实现。这可能与开发把手的人的思想背道而驰。

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}}
2020-04-25