Ich habe schnell Code zu generieren versucht, das zu erreichen, Sie versuchen würde emulieren, was.
<!DOCTYPE html>
<html ng-app>
<body>
<div ng-init="data={'0': 'first', '1': 'second', '2': 'third'}">
<li ng-repeat="item in data">{{item}}</li>
</div>
<hr />
<div ng-init="data=['first', 'second', 'third']">
<li ng-repeat="item in data">{{item}}</li>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular.min.js"></script>
</body>
</html>
und scheint mir, dass Ihre Iteration ist in Ordnung. Sie können ng-repeat
verwenden, um durch Array oder Objekt zu iterieren.
Von Ihrem Code kann ich nicht sehen, wo Sie eigentlich Filter verwenden, also würde ich nicht wissen, was wirklich schief geht.
Der Hinweis ist jedoch, dass in Javascript-Arrays tatsächlich Objekte sind, mit zusätzlichen Methoden und Eigenschaften, zB .: forEach
oder length
. Meine Annahme wäre, dass Ihr Filter, egal wo er ist und was er tut, versucht, durch das Array zu iterieren.
von Skript
In diesem Fall vor Sie es verwenden, können Sie Ihr Objekt in ein Array mit diesem Stück Code umbauen.
var arr = [];
for (var item in object) {
arr.push(object[item]);
}
Oder wenn Sie auch Indizes speichern möchten, benötigen Sie Array von Objekten. Sie können es damit erreichen:
var arr = [];
for (var item in object) {
arr.push({ id: item, value: object[item] });
}
Sobald Sie Ihr Array verwenden, filtern Sie es.
von HTML
Wenn Sie es von HTML-Ebene tun Sie ng-repeat
mit key
value
Syntax verwenden können.
<ion-item ng-repeat="(key, value) in MyKeyword">{{value}}</ion-item>
Ich hoffe, es hilft.
Vielen Dank IndieForger, ich konvertieren Objekt zu Array von Ihrem Code und es funktioniert. –