我想在Sails v0.11.0
中使用Handlebar helper函数,但无法理解如何配置它们。
有一个解决方案适用于以前的版本helpers in sails,但不确定它在v0.11.0
中的工作原理
答案 0 :(得分:1)
这可能不是最好的方法,但最终对我有用。
当sails配置为使用把手时,它使用express-handlebars
包作为依赖项安装。此express-handlebars
使用其依赖包handlebars
的实例。您需要在此实例上使用registerHelper方法。
我使用以下内容创建了config/helpers.js
:
var handlebars = require("../node_modules/sails/node_modules/express-handlebars/node_modules/handlebars");
handlebars.registerHelper('decorateElement', function (context) {
return "<span class='red'>" + context + "</span>");
});
答案 1 :(得分:0)
首先需要安装把手
npm i -S handlebars
然后你只需要注册一个助手。为清晰起见,我想在helper.js
- 文件夹中创建一个config
文件。
让我们说你希望能够渲染json:
var handlebars = require('handlebars');
handlebars.registerHelper('json', function (context) {
return JSON.stringify(context);
});
然后,在您的视图中,您只需编写以下内容:
<script type="text/javascript">
var object = {{{json example}}};
</script>
答案 2 :(得分:0)
使用sailsjs 0.12的人最简单的解决方案是添加一个导出帮助函数的config / helpers.js文件:
module.exports = {
ifCond (v1, v2, options) {
if (v1 === v2) {
return options.fn(this);
}
return options.inverse(this);
},
json (context) {
return JSON.stringify(context);
}
};
并在config / views.js文件中添加以下内容:
helpers: require("./helpers"),