Мой маршрут должен передать серию объектов JavaScript в шаблон pug.
router.get('/edit/:itemObjectId', async function(req, res, next) {
var itemObjectId = req.params.itemObjectId;
var equipmentCategoryArr = [];
var lifeExpectancyArr = [];
var businessUnitResponsibleArr = [];
var item = undefined;
try {
item = await db_item.getItem(itemObjectId);
// Where item["result"] is either undefined or a JavaScript Object. E.g. {"createdAt":"2018-11-07T04:07:44.587Z","updatedAt":"2018-11-07T04:25:18.526Z","item_name":"GM Portable","manufacturer":"GM"}
res.render('editItem', {
title: 'Edit item details', // Give a title to our page
item: item["result"],
equipmentCategoryArr: req.app.locals.equipmentCategoryArr,
lifeExpectancyArr: req.app.locals.lifeExpectancyArr,
businessUnitResponsibleArr: req.app.locals.businessUnitResponsibleArr
});
} catch (err) {
return Promise.reject(JSON.stringify({ "Error": err }));
}
});
Где
item["result"]
может быть либо неопределенным, либо объектом JavaScript.
На странице editItem.pug мне нужно использовать элемент в JavaScript.
block extraScript
script.
console.log(!{JSON.stringify(item)});
Однако, он отображается как "console.log();
", если переданный элемент не определен. Так что !{JSON.stringify(item)}
вообще не было обработано.
Как я могу проверить, является ли элемент неопределенным или нет на фронте?