#javascript #html #nunjucks
Вопрос:
У меня в файле nunjucks есть следующее,
{% set inProgressJobs = [] %}
{% for job in jobs %}
{% set inProgressJobs = (setProgressJobs.push([
{
text: "<b><a href="">{{ job.jobTitle}}</a></b>"
}
]), inProgressJobs) %}
Когда я использую это в представлении, я ожидал бы увидеть Web Designer
, но на самом деле я вижу {{ job.jobTitle }}
, как я интегрирую свой var в атрибут text?
Комментарии:
1. Может быть, использовать литерал шаблона?
Ответ №1:
Вы пытаетесь кодировать внутри шаблона. Это возможно (см. Ниже), но вне шаблонной идеологии. Попробуйте вложить необходимую логику в фильтры и глобальные функции.
const nunjucks = require('nunjucks');
const env = nunjucks.configure();
env.addFilter('print', console.log); // for debug
const html = env.renderString(`
{% set arr = [] %}
{% for i in range(1, 10) %}
{{ '' if arr.push(i) }} {# arr.push always returns non-zero so result will be '' #}
{% endfor %}
{{ arr | print }} {# print arr to console #}
`);
// console.log(html); // html is a pack of spaces and tabs