我正在使用Express把手,并且被困在比较IF ELSE块中的值的地方。是否内置了帮助器?我花了很多时间来找到解决方案,但我没有得到。帮助将不胜感激
答案 0 :(得分:0)
我已解决此问题。 参考:
解决方案: 要使用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代码中使用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}}