Если я вызову мой JS-скрипт Handlebars следующим образом,
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
});
Или я обдумываю это, и есть простое решение?