Рендеринг шаблонов в хелперах в руле

Привет, ребята!

Потому что на это, кажется, нет ответа:Передача переменных через руль частичная , пока я работаю над небольшим обходным путем, чтобы получить эту работу. Итак, идея состоит в том, чтобы зарегистрировать вспомогательную функцию, которая отображает определенный шаблон с возможными значениями. Немного кода облегчает понимание.

Вот как я вызывал своего помощника:

{{myHelper}}

Этот помощник зарегистрирован с помощью этого небольшого кода:

hbs.registerHelper(name, function (args) {
    args = args || {};
    var template = hbs.compile(fs.readFileSync(__dirname + '/' + file, 'utf8'));
    return template(args);
});

Я поместил этот фрагмент в цикл, чтобы одновременно зарегистрировать разных помощников. Это означает, что заданы «имя» и «файл».

Хорошо, теперь я могу сделать что-то вроде этого:

// 'values' could be something like this:

var values = { headline: 'HEADLINE' }

{{myHelper values}}

Теперь в помощнике я могу проверить, заданы ли определенные значения:

// myHelper template

{{#if headline}}

{{headline}}

{{/if}}

Lorem ipsum

Этот небольшой обходной путь работает для меня, но есть одна проблема. Регистрация помощника, как описано выше, возвращает простую экранированную строку HTML. Таким образом, вызов помощника не выводит обработанный фрагмент HTML. Он выводит HTML как экранированную строку.

Кто-нибудь из вас знает, как заставить мой фрагмент кода возвращать HTML как HTML?

/Паскаль

9
задан Community 23 May 2017 в 10:33
поделиться