手机版

具有重复值的角度重复数组的解决方案

时间:2021-09-14 来源:互联网 编辑:宝哥软件园 浏览:

每个人都知道,当ng-repeat时,默认情况下必须保证每个项目都是唯一的,否则控制台会键入一个错误来告诉您哪个键/值被重复。

例如:

$scope.items=['红色','蓝色','黄色','白色','蓝色'];这个蓝色数组是重复的,html像这样遍历它

Li ng-repeat=' item ' { item } }/Li控制台将引发一个错误:

点击Angular官网的错误链接查看详细错误。官网明确给出是因为价值被重复了:

中继器中不允许重复。使用“跟踪依据”表达式指定唯一键。项目中的重复项3360,重复键:字符串:蓝色,重复值:蓝色解决方案

这让我很纳闷。在正常业务中,数组有重复值是正常的。如果必须将数组变成唯一的ng-repeat来遍历,它将是白色的。继续往下看,发现官网已经给出了解决方案

Div ng-repeat='按$ index排列的[4,4]轨道中的值'/div根据此方案发生了变化

Li ng-repeat=' items in items track by $ index ' { item } }/Li刷新网页并正常解析内容

事实上,ng-repeat仍然需要一个唯一的键,但是如果您不跟踪,默认情况下是项目本身。另外,这个问题只会出现在普通的数据类型字符串、数字等。如果您更改为对象,

$ scope . items=[[['红色'],['蓝色'],['黄色'],['白色'],['蓝色']];Html还原为

Li ng-重复=' items ' { item } }/lie执行结果中的项目:

如果你不懂童鞋,看看下面的算术表达式,猜猜结果是什么,然后在浏览器的控制台上试试你的答案是否正确

[]===[]摘要

以上就是本文的全部内容。希望这篇文章的内容对你的学习或工作有所帮助。有问题可以留言交流。

版权声明:具有重复值的角度重复数组的解决方案是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。