как обратиться к внешней переменной в loop handlebars js
Ответы
В Handlebars.js, обращение к внешней переменной в цикле может показаться немного запутанным из-за того, что Handlebars имеет свои ограничения в области видимости переменных. Но есть несколько способов обратиться к внешней переменной в цикле:
- Handlebars позволяет использовать префикс
../
для обращения к родительской области видимости. Если нужно обратиться к переменной за пределами цикла, можно использовать этот префикс:
{{#each items}}
{{../externalVar}}
{{/each}}
Где externalVar
- внешняя переменная.
- Можно создать собственный хелпер, который будет предоставлять доступ к внешним переменным. Нужно зарегистрировать кастомный хелпер с помощью метода
Handlebars.registerHelper()
, который будет принимать внешнюю переменную в качестве параметра:
Handlebars.registerHelper('externalVar', () => {
return externalVar;
});
Затем можно использовать этот кастомный хелпер в шаблоне:
{{#each items}}
{{externalVar}}
{{/each}}
- Если нужно использовать внешнюю переменную несколько раз, то можно передать ее в контекст шаблона:
const template = Handlebars.compile(source);
const context = { items: items, externalVar: externalVar };
const html = template(context);
Шаблон:
{{#each items}}
{{externalVar}}
{{/each}}
0
0