Object 使用pug访问嵌套对象属性
在我的帕格模板中有一个叫做obj的对象Object 使用pug访问嵌套对象属性,object,pug,pugjs,Object,Pug,Pugjs,在我的帕格模板中有一个叫做obj的对象 { "property1": { "property1": { "property1": "value", "property2": "value", "property3": "value" }, "property2": "value", "property3": "value" }, "property2": "value", "property3": "value"
{
"property1": {
"property1": {
"property1": "value",
"property2": "value",
"property3": "value"
},
"property2": "value",
"property3": "value"
},
"property2": "value",
"property3": "value"
}
如果我这样做
pre=obj
对象显示正确。
但是如果我想访问它的嵌套属性,比如
pre=obj.property1.property1
由于某些原因,它无法渲染
如果我执行p=obj.property1.property1.property1
我错过了什么?
谢谢
下面是我的代码片段:
.box-body
-session_details.forEach(function(session_detail) {
.row
.col-md-1=moment(session_detail.create_time).calendar()
.col-md-1=moment(session_detail.create_time).format("DD/MM/YYYY HH:MM:SS")
.col-md-1=session_detail.intent
.col-md-4
p #{session_detail.request.type}
pre=session_detail.request
.col-md-5
pre=session_detail.response
- });
下面是确切的输出:
正如您所看到的,由于某些原因,
p#{session_detail.request.type}
没有显示。已经有人问过了,但我没有足够的信誉来标记为重复
要回答您的问题,请使用哈希和大括号
p #{property1.property1}
但是我认为你不需要等号。已经有人问过了,但我没有足够的声誉来标记为重复 要回答您的问题,请使用哈希和大括号
p #{property1.property1}
不过我认为你不需要等号。嘿,罗杰,非常感谢你的回答。我试过你的解决办法,但没用。我用更多的上下文更新了我的问题。如果您看到问题的来源,请随时告诉我。感谢基于您的property1示例,如果您的密钥是字符串(用“”包装),那么您必须像这样访问它{obj[“property1”][“property1”][“property1”]}。如果删除密钥中的引号,则可以使用obj.property1.property1.property1访问它。否则,我看不出问题出在哪里,因为我在.pug模板中进行了测试,它对我有效。使用我的示例,我会执行
p{session_detail[“locale”]}
来访问locale密钥?因为这个似乎也不起作用。我也不知道该说什么。它在我的身上起作用。如果有,在.pug模板的顶部-var test={test:{test:{test:{test:{test:}}}我可以通过执行p{test.test.test.test}来访问它,它将输出“test”。你的session\u detail对象是如何声明的?嘿,罗杰,非常感谢你的回复。我试过你的解决办法,但没用。我用更多的上下文更新了我的问题。如果您看到问题的来源,请随时告诉我。感谢基于您的property1示例,如果您的密钥是字符串(用“”包装),那么您必须像这样访问它{obj[“property1”][“property1”][“property1”]}。如果删除密钥中的引号,则可以使用obj.property1.property1.property1访问它。否则,我看不出问题出在哪里,因为我在.pug模板中进行了测试,它对我有效。使用我的示例,我会执行p{session_detail[“locale”]}
来访问locale密钥?因为这个似乎也不起作用。我也不知道该说什么。它在我的身上起作用。如果有,在.pug模板的顶部-var test={test:{test:{test:{test:{test:}}}我可以通过执行p{test.test.test.test}来访问它,它将输出“test”。如何声明会话_详细信息对象?