基本的“if”语句在车把 JS 中不起作用

mik*_*ana 3 javascript conditional node.js handlebars.js express-handlebars

我正在使用express-handlebars并拥有以下最小模板:

<!DOCTYPE html>
<html>

    <body>

        {{#if page === 'help'}}YAAAY{{/if}}

    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

这无法解析:

Error: C:\Users\mike\myapp\views\error.hbs: Parse error on line 6:
...ody>     {{#if page === 'help'}}YAAAY{{/i
---------------------^
Run Code Online (Sandbox Code Playgroud)

我知道车把不期待===,但这不是重点if吗?

如何if在车把中使用语句?

Lyu*_*mir 5

Handlebar'sif-helper 只接受一个布尔值作为参数。您有两个选择:

使用现有的处理程序

将结果page === 'help'作为模板中的变量传递并执行以下操作:

{{#if isPageHelp}}
  <h1> Help! </h1>
{{/if}}
Run Code Online (Sandbox Code Playgroud)

做你自己的处理程序

您可以使用自己的处理程序实现该===运算符。谢谢@sp00m

  • 这是我更喜欢 Nunjucks 而非 Handlebars 的原因之一。 (2认同)