Переменная не определена в EJS - PullRequest
0 голосов
/ 06 июля 2019

Я хотел бы знать, как получить доступ / получить объект внутри объекта в EJS. Когда я пытаюсь использовать объект, отрисованный сервером в EJS, я получаю следующую ошибку:

ser.js:

var express = require('express');
var router = express.Router();
router.get('/', function (req, res) { 
    var obj = {"cn": "TH", "contact": {"name": "contactus"}, "about": {"name": "aboutus"}}
    res.render('index.ejs', {result: obj});
})

index.ejs:

<a class="nav-link" href="/en/<%=result['contact']['name']%>">Contact</a> 
// should be /en/contactus

Ошибка:

contact is not defined
    at eval (eval at compile (C:\Projects\pro\node_modules\ejs\lib\ejs.js:592:12), <anonymous>:47:25)
    at eval (eval at compile (C:\Projects\pro\node_modules\ejs\lib\ejs.js:592:12), <anonymous>:62:10)
    at returnedFn (C:\Projects\pro\node_modules\ejs\lib\ejs.js:623:17)
    at tryHandleCache (C:\Projects\pro\node_modules\ejs\lib\ejs.js:251:36)
    at View.exports.renderFile [as engine] (C:\Projects\pro\node_modules\ejs\lib\ejs.js:480:10)
    at View.render (C:\Projects\pro\node_modules\express\lib\view.js:135:8)
    at tryRender (C:\Projects\pro\node_modules\express\lib\application.js:640:10)
    at Function.render (C:\Projects\pro\node_modules\express\lib\application.js:592:3)
    at ServerResponse.render (C:\Projects\pro\node_modules\express\lib\response.js:1008:7)
    at util.getJsonData.then.data (C:\Projects\pro\routes\language.js:18:27)
...