私は今までにモニターに向かって叫び、これを理解するために何時間も費やしてきたことを約束できます. まず、単純な比較機能を実行できないハンドルバーのようなテンプレート エンジンを使用するという概念が理解できません。
いかなる場合でも。ここでわかるように、個々のルートに追加するとうまく機能するこのヘルパー関数があります。ただし、エクスプレスで作成したapp.jsファイルにグローバル関数として追加したいと思っています。ヘルパー関数の GitHub の例が機能しないことをお約束します。
どんな助けでも本当に感謝します。
私のindex.jsファイル。
/* GET home page. */
router.get('/', function(req, res, next) {
Coupon.find(function(err, docs)
{
res.render('main/index', {
title: 'Coupon Site new for all',
coupons: docs,
//helpers
helpers: {
eq: function (v1, v2) {
return v1 === v2;
},
ne: function (v1, v2) {
return v1 !== v2;
},
lt: function (v1, v2) {
return v1 < v2;
},
gt: function (v1, v2) {
return v1 > v2;
},
lte: function (v1, v2) {
return v1 <= v2;
},
gte: function (v1, v2) {
return v1 >= v2;
},
and: function (v1, v2) {
return v1 && v2;
},
or: function (v1, v2) {
return v1 || v2;
}
},
});
});
});
app.js では、どうやらこのようなことができるはずです。ドキュメントにないものは、 index.jshbs
に変数を何らかの方法でインポートする必要があると考えています
var hbs = exphbs.create({
// Specify helpers which are only registered on this instance.
helpers: {
foo: function () { return 'FOO!'; },
bar: function () { return 'BAR!'; }
}
});