Object 使用pug访问嵌套对象属性

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"

在我的帕格模板中有一个叫做obj的对象

{
  "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”。如何声明会话_详细信息对象?