/
Вопросы и ответы
/
JavaScript
/

как обратиться к внешней переменной в loop handlebars js

как обратиться к внешней переменной в loop handlebars js

год назад

Nikolai Gagarinov

Ответы

0

В Handlebars.js, обращение к внешней переменной в цикле может показаться немного запутанным из-за того, что Handlebars имеет свои ограничения в области видимости переменных. Но есть несколько способов обратиться к внешней переменной в цикле:

  1. Handlebars позволяет использовать префикс ../ для обращения к родительской области видимости. Если нужно обратиться к переменной за пределами цикла, можно использовать этот префикс:
{{#each items}}
    {{../externalVar}}
{{/each}}

Где externalVar - внешняя переменная.

  1. Можно создать собственный хелпер, который будет предоставлять доступ к внешним переменным. Нужно зарегистрировать кастомный хелпер с помощью метода Handlebars.registerHelper(), который будет принимать внешнюю переменную в качестве параметра:
Handlebars.registerHelper('externalVar', () => {
    return externalVar;
});

Затем можно использовать этот кастомный хелпер в шаблоне:

{{#each items}}
    {{externalVar}}
{{/each}}
  1. Если нужно использовать внешнюю переменную несколько раз, то можно передать ее в контекст шаблона:
const template = Handlebars.compile(source);
const context = { items: items, externalVar: externalVar };
const html = template(context);

Шаблон:

{{#each items}}
    {{externalVar}}
{{/each}}

6 месяцев назад

Ivan Gagarinov