如果我按如下方式调用我的Handlebars JS脚本,
var template = Handlebars.compile( $('#script').html());
$('#output').append(template(json));
我是否可以将一个标志/变量/参数传递给Handlebars.compile
,这样我可以在脚本中查看?
var template = Handlebars.compile( $('#scriptQuestionsForActivity').html(), myFlag);
脚本
{{#if (eq myFlag true) ... }}
我无法使用Helper函数,因为没有全局变量或上下文我可以检查以获取myFlag
的值。它实际上是一个参数,可以提供或不提供给渲染过程。我不能这样做:
Handlebars.registerHelper('checkMyFlag', function() {
return myFlag; // This won't work, myFlag isn't stored as a global var
// Handlebars.compile is called either with or without it
// There shouldn't be a need to track this globally
});
或者我是否过度思考这个并且那是一个简单的解决方案?