Есть коллекция sights
, в нее вложена коллекция sight
, которое имеет поле titleSight
. Проблема с выводом значения titleSight
в шаблон. Выдает ошибку: Cannot read property 'titleSight' of undefined
. Как правильно вывести значение поле titleSight
?
route.js
app.get('/sight-overall/:id', function (req, res) {
Promise.all([
Photo.find({}),
Sight.find({_id: req.params.id})
]).then(function (data) {
console.log('data:', data);
res.render('sight-overall.ejs', {photoList: data[0], sights: data[1], isAuth: req.isAuthenticated()});
});
sights-overall.ejs
<% var sights = JSON.stringify(sights) %>
<% if (locals.sights) { %>
<div class="sight-overall__header">
<h2><%= sights.sight.titleSight%></h2>
</div>
<% } %>
содержимое data
:
содержимое бд:
Шаблонизатор пытается создать строку из вашего объекта, поэтому вы получаете такой результат.
Возьмем, например, такой объект:
sights = {
sight : {
title : "title"
}
}
И передадим в наш шаблон:
res.render('index', { data: sights });
Наш объект встает на свое место в ejs в виде строки поэтому мы получаем подобный результат: [object Object]
при <%= data %>
.
Но если во время шаблонизации мы обернем строку data
(которая изначально была объектом) в JSON.stringify, то наша строка обратно станет объектом.
Таким образом мы получим: {"sight":{"title":"title"}}
при <%= JSON.stringify(data) %>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Мне нужно что бы при клике на кнопку One\two\three\etc
Нужно для определенного класса, добавить margin-left если открыт в браузере Mozilla Firefox Я пишут так:
Это не в корыстных целях,пользователь будет сам включать эту возможность в определенных моментахНужно любые введеные данные пользователя...
У меня есть jsf страница, в нее запросом передается входной параметр hideЯ могу его прочитать и использовать, но он становится недоступным и возвращает...