我需要通过Express JS路由定义中的循环来增加 Object.keys 。
以下代码有效,该代码是手动定义的:
for (var i=0;i<Object.keys(setupApp.menuLink).length;i++) {
app.get('/'+Object.values(setupApp.menuLink[i]),
isLoggedIn, function(req, res) {
res.render('main_layout.ejs', {
head : {
'0': Object.values(setupApp.menu)[0],
'1': Object.values(setupApp.menu)[1],
'2': Object.values(setupApp.menu)[2],
'3': Object.values(setupApp.menu)[3],
}
});
console.log(res.locals.linkVisited);
});
}
然后我像这样在EJS中启动
<h1 class="h2 text-capitalize">
<%= head[i] %>
</h1>
但是...如何使这部分自动化:
尝试:
head : {
"'"+i+"'": Object.values(setupApp.menu)[i],
}
结果:
D:\NODES\5.2.3\app\routes.js:66
"'"+i+"'": Object.values(setupApp.menu)[i],
^
SyntaxError: Unexpected token +
关于此question,增量在 Object.values 部分中。 我的已经使用它并且可以工作了(我忘了提了)。我很难过的是要增加 Object.keys 部分。
或者问题应该是这样的: 如何在JSON格式字符串中转义Javascript变量
谢谢。