ng-repeat 只显示第一个迭代数据

ng-repeat only displaying the first iterated data

我有一个很奇怪的问题。我用谷歌搜索了关于这个问题的答案,但它们似乎不是解决方案。我 ng-repeating 一个对象,它会产生两个 divs(在这种情况下),其中每个 div 在 li-s 中都有一些项目。但是,它不起作用。

HTML代码

<head>
  <title>Orari</title>
</head>

<body ng-controller="OrariController as cont">
  <script type="text/javascript" src="angular.min.js"></script>
  <script type="text/javascript" src="orari.js"></script>

  <div ng-repeat="orariDites in cont.OrariJaves">
    <ul ng-repeat="orari in orariDites">
      <li>{{orari}}</li>
    </ul>
  </div>
</body>

</html>

JavaScript 代码(在本例中为 Orari.js)

var app = angular.module("OrariT", []);

app.controller('OrariController', function(){
    this.OrariJaves = Ditet;
});

var Ditet ={
    Hene: ['Ekonomi','Histori', 'TIK', 'Letersi','Biologji', 'Fizike'],
    Marte: ['Letersi','Anglisht', 'Matematike Gjer.', 'Gjermanisht','Gjermanisht', 'Kimi', 'Fizike'],
};

我附上了一个 Plunker,您可以找到它 here。这个问题也可以在这里看到。

你的内部 ng-repeat 应该使用 track by $index,因为在遍历数组的第二个元素时,它有 Gjermanisht 值出现两次。这会产生 angular ngRepeat dupes 错误。

HTML

<div ng-repeat="orariDites in cont.OrariJaves">
  <ul ng-repeat="orari in orariDites track by $index">
    <li>{{orari}}</li>
  </ul>
</div>

在 运行 plunker 之后打开控制台显示它不喜欢数组中有重复的字符串

转发器中不允许重复。使用 'track by' 表达式指定唯一键。转发器:orariDites 中的 orari,重复键:string:Gjermanisht,重复值:Gjermanisht http://errors.angularjs.org/1.4.8/ngRepeat/dupes?p0=orari%20in%20orariDites&p1=string%3AGjermanisht&p2=Gjermanisht

如果我从 Ditet.Marte 数组中删除第二个 "Gjermanisht",它似乎可以正常工作。