如果我按如下方式调用我的 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
});
还是我想多了,有一个简单的解决方案?