0

如果我按如下方式调用我的 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
});

还是我想多了,有一个简单的解决方案?

4

0 回答 0