我们如何在 Express-Handlebars 的 If 块中写入条件?

How can we write the condition(s) in If block in Express-Handlebars?

我正在使用 Express 车把,我卡在了比较 IF ELSE block.Is 中的值的点上,那里有内置的助手?我花了很多时间来寻找解决方案,但我没有得到。帮助将不胜感激

我已经解决了这个问题。 参考:

https://code-maven.com/handlebars-conditionals

解决方法: 要使用 Express Helperbars 在两个值之间设置相等的“==”条件,请执行以下步骤。

1- 创建助手

hbs.js

module.exports = {

    if_eq: function(a, b, opts) {
        if (a == b) {
            return opts.fn(this);
        } else {
            return opts.inverse(this);
        }
    }
}

2- 在 app.js 文件中注册这些助手

// Handlebars Helpers
const {
  if_eq
} = require('./helpers/hbs'); //path to hbs.js file

// Handlebars Middleware
app.engine('handlebars', exphbs({
   helpers: {
    if_eq:if_eq
  },
  defaultLayout: 'main'
}));

3- 在您的 HTML code.I 中使用 if_eq 助手来检查性别是否为 'male' 并且类似于 'female' 情况。

    {{#if_eq idea.gender 'male'}}
            Female<input type="radio" class="form-control" name="gender" value="female">
            Male <input type="radio" class="form-control" name="gender" value="male" checked>
          {{else}}
            Female<input type="radio" class="form-control" name="gender" value="female" checked>
            Male <input type="radio" class="form-control" name="gender" value="male" >
{{/if_eq}}