Пусть в представление передается объект с
юзером и некоторая переменная name
:
app.get('/page/', function(req, res) {
res.render('page', {
name: 'test',
user: {name: 'john', age: 30}
});
});
Давайте выведем переданные данные в представлении:
имя из переменной: {{name}}
{{#with user}}
имя из юзера: {{name}}
{{/with}}
Как вы видите, имя переменной name
совпадает с ключом. Пусть мы хотим вывести
в конструкции with
как имя из переменной,
так и имя из объекта с юзером. Так просто
это сделать не получится, ведь команды на
вывод будут совпадать:
{{#with user}}
имя из юзера: {{name}}
имя из переменной: {{name}} - выведет имя юзера
{{/with}}
Для того, чтобы вывести именно имя из переменой,
мы должны сказать шаблонизатору, что хотим
взять значение name
из внешнего контекста.
Для этого перед именем переменной следует
написать ../
:
{{#with user}}
имя из юзера: {{name}}
имя из переменной: {{../name}}
{{/with}}
Пусть в представление передаются следующие данные:
res.render('page', {
amount: 10,
product: {
name: 'prod',
cost: 1000,
amount: 5
}
});
Выведите данные продукта в конструкции with
.
Там же выведите значение переменной amount
.