在Jular对象上的Angular中使用点表示法不能按预期工作

时间:2016-05-16 20:39:17

标签: angularjs json

我正在通过API服务传递JSON对象。我对JSON的格式没有任何控制权。但它是一个有效的JSON对象:

{
    "Template" : {
        "Parameters" : {
            "Name" : "Test",
            "Version" : "1.0"
        },
        "Fields" : {
            "Field" : [{
                    "Prompt" : "Last Name:"
                }, {
                    "Prompt" : "First Name:"
                }, {
                    "Prompt" : "Middle Name"
                }, {
                    "Prompt" : "ID Number:"
                }
            ]
        },
        "Captures" : {
            "Capture" : [{
                    "Prompt" : "Picture"
                }, {
                    "Prompt" : "Picture from file"
                }, {
                    "Prompt" : "Signature"
                }
            ]
        }
    }
}

我需要做的是遍历对象中的Fields列表,以便我可以从那里显示值。在这个例子的情况下,我试图从字段中打印一个提示值列表。

http://jsfiddle.net/toddhd/0wbfpxkj/9/

  <div ng-repeat="item in template.Fields.Field">
    {{item.Prompt}}
  </div>

通过查看上面的JSFiddle可以更好地解释这一点。

我想要做的只是使用点/点表示法获取字段列表,例如:

template.Fields.Field

但这对我不起作用。在这个例子中,我还制作了一系列ng-repeats,它们逐个循环遍历每个集合。这可以产生并产生预期的结果,但它是冗长和丑陋的。

我确信我只是误解了JSON对象本身的结构,或者可能是正确的点/点符号。但我似乎无法弄明白。你能看看我告诉我哪里出错了吗?

谢谢

1 个答案:

答案 0 :(得分:4)

它只是错过了另一个Template。它应该是template.Template.Fields.Field

你的HTML应该是这样的:

<div ng-repeat="item in template.Template.Fields.Field">{{item.Prompt}}</div>