Handlebars JS:从Handlebars.compile()传递变量到脚本

时间:2018-05-13 23:20:48

标签: jquery handlebars.js handlebarshelper

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

或者我是否过度思考这个并且那是一个简单的解决方案?

0 个答案:

没有答案