大家好!
因为似乎没有这方面的答案: 通过车把局部变量传递的是,我目前工作的一个小变通方法来得到这个工作。 所以,这个想法是要注册这使得有可能值特定模板的辅助功能。 有点代码令它变得更好理解。
这是我如何调用我的帮助:
<div>
{{myHelper}}
</div>
这帮助注册这个小的代码:
hbs.registerHelper(name, function (args) {
args = args || {};
var template = hbs.compile(fs.readFileSync(__dirname + '/' + file, 'utf8'));
return template(args);
});
我把这个snippiet成一个圈,一次注册不同的助手。 这意味着“名”和“文件”给出。
好了,现在我能够做这样的事:
// 'values' could be something like this:
var values = { headline: 'HEADLINE' }
<div>
{{myHelper values}}
</div>
在一个帮助我现在就可以测试是否一定值给出:
// myHelper template
<div>
{{#if headline}}
<h1>{{headline}}</h1>
{{/if}}
<p>Lorem ipsum</p>
</div>
这一点的解决方法对我的作品,但有一个问题。 注册一个帮手如上所述,返回一个普通的HTML转义字符串。 所以,invocing一个帮手不输出渲染HTML代码段。 它输出HTML作为转义字符串。
难道你们任何人有一个想法,我怎样才能让我的代码片段返回HTML为HTML?
/帕斯卡尔