# Контекст в Handlebars Express

Пусть в представление передается объект с юзером и некоторая переменная `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`.

← →
↑