gpt4 book ai didi

javascript - 如果值重复,为什么 AngularJS 不想列出数组项?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:33:54 24 4
gpt4 key购买 nike

当我试图从数据库中列出一些内容时,我花了很长时间来调试错误所在。事实证明,如果数组中有重复的值,Angular 将完全拒绝在 ng-repeat 中使用该数组。

可以在这里找到一个例子:http://jsfiddle.net/2uyxu7ha/

Javascript:

var app = angular.module("Module", []);
app.controller("Controller", function($scope){
$scope.array1 = ["1", "2", "3", "4"];
$scope.array2 = ["1", "1", "3", "4"];
});

HTML:

<div ng-app="Module">
<div ng-controller="Controller as ctrl">
<ul>
<li ng-repeat="item in array1">{{item}}</li>
</ul>
<ul>
<li ng-repeat="item in array2">{{item}}</li>
</ul>
</div>
</div>

您会注意到,第二个数组中只有一个值重复,因此不会显示整个列表。如果你只是把第二个值改成“2”,它就会显示出来。

我不想要这种行为,因为即使数据库中有一些重复的值,我仍然希望在前端看到它们。为什么会发生这种情况,我该如何解决?

最佳答案

对于这种情况,您需要通过 $index 进行跟踪

http://jsfiddle.net/2uyxu7ha/1/

来自文档的解释:

https://docs.angularjs.org/error/ngRepeat/dupes

关于javascript - 如果值重复,为什么 AngularJS 不想列出数组项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28350323/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com