我试图实现的是对我的嵌套对象进行ng-repeat
的简单迭代,看起来像这样
$scope.data = {
name: "",
id: "",
nestedObj: {
prop1: "string",
prop2: false,
prop3: ""
}
};
在我看来,我这样尝试
<div ng-repeat="(key, value) in data.nestedObj">
{{key}} : {{value}}
</div>
。但我经常收到以下控制台错误:
Error: Duplicates in a repeater are not allowed. Repeater: (key, value) in data.type key: string
我错过了什么还是做错了什么?
更新!
因此,在Sajeetharan的回答和Slava Utesinov的评论之后,我建立了一个Plunkr来尝试一下。令人惊讶的答案是,如果一个对象内部有多个"空"键(空字符串作为值(,你显然不能迭代它。
更新 2
另外,您似乎不能两次使用相同的字符串值...上帝我爱角:)
大结局更新
正如Sajeetharan和Slava Utesinov提到的,track by $index
为我解决了这个问题
对象中缺少括号。
试试这个:
$scope.data = {
name: "",
id: "",
nestedObj: {
prop1: "string",
prop2: false,
prop2: ""
}
};