无法访问Nunjucks模板中嵌套对象中的数据

时间:2017-07-20 19:29:48

标签: javascript html templating nunjucks

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

{% 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应该是部分对象的句柄,但它根本不显示任何内容。

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

非常感谢任何帮助!

更新

我尝试使用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个对象显示在模板中。

1 个答案:

答案 0 :(得分:0)

// 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 %}