【问题标题】:Access nested objects property with pug使用 pug 访问嵌套对象属性
【发布时间】:2017-05-31 10:43:09
【问题描述】:

我的 pug 模板中有一个名为 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也一样

我错过了什么? 谢谢

这是我的确切代码 sn-p:

  .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
    - });

这是确切的输出: http://imgur.com/a/ZnmUp

如您所见,p #{session_detail.request.type} 由于某些原因没有显示。

【问题讨论】:

    标签: object pug pugjs


    【解决方案1】:

    已经有人问过了,但我没有足够的声誉来标记为重复。

    要回答您的问题,请使用井号和花括号。

    p #{property1.property1}
    

    我认为你不需要等号。

    【讨论】:

    • 嗨罗杰,非常感谢您的回复。我尝试了您的解决方案,但没有奏效。我已经用更多的上下文更新了我的问题。如果您发现问题出在哪里,请随时告诉我。谢谢
    • 根据您使用 property1 的示例,如果您的密钥是一个字符串(用“”包裹),那么您必须像这样访问它 #{obj["property1"]["property1" ]["property1"]}。如果删除密钥中的引号,则可以使用 obj.property1.property1.property1 访问它。否则,我看不出问题出在哪里,因为我在 .pug 模板中进行了测试,它对我有用。
    • 使用我的例子,我会做p #{session_detail["locale"]} 来访问语言环境键?因为这个似乎也不起作用。 p #{session_detail.locale} 也没有
    • 我不知道该说什么。它在我的工作。如果我有,在我的 .pug 模板顶部 -var test = {test: {test: {test: "test"}}} 我可以通过执行 p #{test.test.test.test} 来访问它输出“测试”。你的 session_detail 对象是如何声明的?
    猜你喜欢
    • 2012-11-12
    • 1970-01-01
    • 2019-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多