如何解决EJS如何在变量中呈现变量
我正在尝试使用路由在EJS中“注入”正确的变量并使用同一页面。
- 我正在使用JSON存储数据
- 我正在尝试使用变量根据定义的路线(汽车/自行车...)对其进行迭代,从而从路线中动态调用JSON文件中的正确信息。
工程
不起作用 。交易%>
router.get('/cars',function(req,res,next) {
res.render('cars-page',{
product: 'cars'
});
});
提前感谢您的帮助! 最好的问候,
解决方法
EJS将嵌入式代码作为JavaScript执行,因此您可以像平常一样访问数据对象。在您的示例中,这看起来像:
<%= appdata[product].deal %>
以下是使用product
的值来输出不同数据的完整示例。
const ejs = require('ejs');
let template = `<%= product %> deal: <%= appdata[product].deal %>`;
const renderData = {
appdata: {
cars: {
name: "Mustang",deal: "30% off"
},trucks: {
name: "Ford",deal: "20% off"
},},product: "cars"
};
const output = ejs.render(template,renderData);
console.log(output);
哪个会输出:
cars deal: 30% off
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。