Handlebars JS: передать переменную в скрипт из Handlebars.compile () - PullRequest
0 голосов
/ 14 мая 2018

Если я вызову мой 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
});

Или я обдумываю это, и есть простое решение?

...