如何解决Angular.js ng-repeat在列表中不显示重复值,而仅显示不同的值
此代码通过ng-repeat指令在列表中显示文本框的内容。 但是我注意到它没有显示重复的字母。 仅当字母不同时才显示字母。 例如,如果我在文本框中键入abcabc,则在列表中只能看到一次abc,而不是abcabc。 如何显示重复的字母? 谢谢。
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
<div ng-app>
<input type="text" ng-model="names">
<ul>
<li ng-repeat="x in names">
{{ x }}
</li>
</ul>
</div>
解决方法
每当这样出现问题时,请始终检查控制台。您会在这里看到错误,因为AngularJS期望所有值都是唯一的。但是显然,事实并非如此。您可以使用track by
为元素赋予唯一标识符,在这种情况下,我使用track by $index
来使它们使用字符串中的索引。
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
<div ng-app>
<input type="text" ng-model="names">
<ul>
<li ng-repeat="x in names track by $index">
{{ x }}
</li>
</ul>
</div>
,
您不能这样做,仅因为ng-repeat指令期望所有值都是唯一的。 最好通过$ index使用track提出的解决方案
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。