Nunjucks вложенные переменные - PullRequest
0 голосов
/ 04 июня 2018

Возможны ли вложенные переменные в Nunjucks?Мне нужно иметь возможность хранить строку в моей базе данных, содержащую переменную Nunjucks, но, похоже, она не работает.Вот пример того, что мне нужно сделать:

dict = {
name: 'John',
lastname: 'Smith',
greeting: 'Hello, my name is {{ name }} {{ lastname }}'
}

И затем я смогу сделать

<span>{{greeting}}</span>

, но выдает это:

'Hello, my name is {{ name }} {{ lastname }}'

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

1 Ответ

0 голосов
/ 04 июня 2018

Самый простой способ - это добавление global или filter

var nunjucks  = require('nunjucks');
var env = nunjucks.configure();

env.addFilter('render', function(text) {
    return  nunjucks.renderString(text, this.ctx);
});

var res = nunjucks.renderString(
    'name: {{name}}, greeting: {{greeting | render}}', 
    {
        name: 'John',
        greeting: 'Hello {{name}}'
    }
);

console.log(res);
...