我有这个非常奇怪的问题。我已经搜索了有关此问题的答案,但它们似乎并不是解决方案。重复一个会产生两个div的对象(在这种情况下),其中每个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。这个问题也可以在这里看到。
答案 0 :(得分:1)
你的内部ng-repeat应该使用track by $index
,因为在遍历数组的第二个元素时,它的值为Gjermanisht
两次。这会产生角度ngRepeat dupes
错误。
<强> HTML 强>
<div ng-repeat="orariDites in cont.OrariJaves">
<ul ng-repeat="orari in orariDites track by $index">
<li>{{orari}}</li>
</ul>
</div>
答案 1 :(得分:0)
运行plunker后打开控制台表明它不喜欢你在数组中有重复的字符串
不允许在转发器中重复。使用'track by'表达式指定唯一键。 Repeater:orari in orariDites,Duplicate key:string:Gjermanisht,重复值:Gjermanisht http://errors.angularjs.org/1.4.8/ngRepeat/dupes?p0=orari%20in%20orariDites&p1=string%3AGjermanisht&p2=Gjermanisht
如果我从Ditet.Marte数组中移除第二个“Gjermanisht”,它似乎可以像预期的那样工作。