Angularjs ng-repeat 不显示列表中的重复值,只显示不同的值
Angularjs ng-repeat doesn't show duplicate values in the list, but only the different ones
此代码通过 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 指令要求所有值都是唯一的。
使用 track by $index 提出的解决方案是最好的解决方法
此代码通过 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 指令要求所有值都是唯一的。 使用 track by $index 提出的解决方案是最好的解决方法