Angularjs ng-repeat对象在对象错误:中继器中重复



我试图实现的是对我的嵌套对象进行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: ""
  } 
};

最新更新