【问题标题】:Cannot access data in nested object within Nunjucks template无法访问 Nunjucks 模板内嵌套对象中的数据
【发布时间】:2017-12-26 16:20:06
【问题描述】:

使用这个模板代码,我可以在下面的data 对象中输出employer 值。

{% field.value %}

但我无法获得任何 sections 或嵌套的 obligatory 要显示的数据。

var data = {

  "employer": "Employer x",
.....

  "sections": {

    "obligatory": {
      "obligatory-13": {
        "value": "N/A"
      },
      "obligatory-12": {
        "remarks": "Absence",
        "value": "N-C"
      }
    }
}

当我在部分模板中使用{% field.value %} 时,它会在视图中显示[object Object]。但是我无法访问对象内部的任何内容,也无法查看对象内部以找出问题所在。

我尝试过{{field.value.obligatory}},因为field.value 应该是section 对象的句柄,但它根本不显示任何内容。

为了消除任何混淆,{{field.value}} 应该返回整个 sections 对象。它不是对obligatory 对象内的value 键的引用。

非常感谢任何帮助!

更新

我尝试使用nunjuck's string filter 来查看对象,但它仍然显示[object Object]

{{ field.value | string }}  

编辑

这是最终数据是什么样子的问题的更清晰版本。很抱歉对上面的数据结构/命名造成任何混淆。

"field": [{

    "value": {
                "obligatory-13": {
                  "value": "N/A"
                },
                "obligatory-12": {
                  "remarks": "Notes",
                  "value": "N-C"
                }
    }
}]

而我想做的是:

{% for point in field.value %}
  {{ point }}

无论我尝试什么,我似乎都无法让 obligatory 对象显示在模板中。

【问题讨论】:

    标签: javascript html templating nunjucks


    【解决方案1】:
    // Print single item value
    {{sections.obligatory['obligatory-12'].value}} // => N-C
    
    // Iterate over sections.obligatory
    {% for id, obligatory in sections.obligatory %}
    {{id}} : {{obligatory.value}}
    {% endfor %}
    

    更新

    {% for id, obligatory in field[0].value %}
    {{id}} : {{obligatory.value}}
    {% endfor %}
    

    【讨论】:

    • 感谢您的建议。可悲的是它没有用。我仍然无法访问嵌套对象。
    • 我尝试了更新,但它仍然没有在视图中显示任何内容。但是,如果我这样做{% for id, obligatory in field.value %} 省略了零索引,它肯定会遍历obligatory 对象,因为我在视图中看到相同数量的:。但实际数据值仍在显示。
    • 好的,我可以使用 {% for id, obligatory in field.value %}。我对数据结构进行了更改,阻止了值的显示。但是将field[0] 更改为field.value 并使用{{id}} : {{obligatory.value}} 打印出数据是可行的。
    猜你喜欢
    • 2017-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-12
    • 1970-01-01
    • 2017-05-16
    • 2010-12-25
    相关资源
    最近更新 更多