当前位置: 首页 > 面试题库 >

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

马泓
2023-03-14
问题内容

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

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

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


问题答案:

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

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}}


 类似资料:
  • 我有以下python代码: 这里发生了什么?我无法理解这一点,因为不是布尔值。

  • and, or, not 其中,and 和 or 与 C 语言区别特别大。 在这里,请先记住,在 Lua 中,只有 false 和 nil 才计算为 false,其它任何数据都计算为 true,0 也是 true! and 和 or 的运算结果不是 true 和 false,而是和它的两个操作数相关。 a and b: 如果 a 为 false,则返回 a;否则返回 b a or b: 如果 a

  • 2.2.1关系表达式 a) 关系运算符 关系运算符就是关系比较符。Fortran中有六个关系运算符: 关系运算符 英语含义 所代表的数学符号 .GT. .GE. .LT. .LE. .EQ. .NE. > >= < <= == /= Greater Than Greater than or Equal to Less Than Less than or Equal to EQual to Not

  • JavaScript 中有三个逻辑运算符:||(或),&&(与),!(非)。 虽然它们被称为“逻辑”运算符,但这些运算符却可以被应用于任意类型的值,而不仅仅是布尔值。它们的结果也同样可以是任意类型。 让我们来详细看一下。 ||(或) 两个竖线符号表示“或”运算符: result = a || b; 在传统的编程中,逻辑或仅能够操作布尔值。如果参与运算的任意一个参数为 true,返回的结果就为 tr

  • 问题内容: 在阅读python中的逻辑运算符时,我遇到了一些表达式: 输出1 输出:5 谁能解释这是如何工作的? 我知道, 操作数 的的 逻辑 运算符是 布尔 问题答案: 有据可查: 两者都短路(例如,如果为 真,则不会评估)。 __ 该文档还指出了被认为 falsy (,,,空序列/映射,…) -一切被认为是 truthy 。 一些例子: 请注意,最后两个如何显示短路行为:不执行第二个语句(将引

  • 问题内容: 运算符和有什么不一样?和运算符|| ?? 而且&和&& ??有什么区别? 谢谢… 问题答案: 主要区别在于,在表达式中,如果为false,则不会进行计算,而在两者中,无论如何都将进行计算。可以说是“ 短路 ”评估。 同样,对于:如果为true,则不会进行评估,而对于两者而言,则无论如何都将被评估。