如何在Node.js的Pug模板中读取传递的JSON变量?
问题解决:Pug模板中访问JSON变量
你的问题是在Pug中直接输出对象时,显示结果为[object Object]——这是因为对象默认的字符串化结果就是该内容。以下几种方法可以正确访问和展示JSON变量的内容:
1. 访问具体属性
如果需要显示forms下的某个具体值(比如view权限),直接指定属性路径即可:
// 带描述输出 p 表单查看权限:#{data.forms.view} // 直接输出值 p= data.forms.view
2. 输出完整JSON结构
如果要把整个forms对象以可读的JSON格式展示,使用JSON.stringify()方法格式化输出:
pre= JSON.stringify(data.forms, null, 2)
用pre标签可以保留格式化后的换行和缩进,让结构更清晰。
3. 遍历对象的所有属性
如果要逐个列出forms里的所有权限键值对,用Pug的each循环:
h3 表单权限列表 ul each value, key in data.forms li #{key}: #{value === 1 ? '允许' : '禁止'}
验证数据传递是否正常
你可以先在Pug中输出整个data对象的JSON字符串,确认数据确实传到了模板:
pre= JSON.stringify(data, null, 2)
内容的提问来源于stack exchange,提问作者Francisco Castillo
相关产品推荐
相关产品推荐

