Ich habe eine Liste von Kontakten mit ng-repeat (ich verwende meinen Controller als vm), das aktualisiert, wenn ich einen neuen Kontakt hinzufügen, aktuelle bearbeiten oder Kontakte löschen - aber nicht wenn ich die Liste versuche und filtere. Hier ist die ng-repeatNg-Repeat wird nicht mit Array-Änderung aktualisiert
<div ng-repeat="contact in vm.contacts | filter:query | orderBy:'firstname' track by contact._id" class="list-item pointer" ng-class="{'dker': contact.selected }" ng-click="vm.selectContact(contact)">
Hier ist meine Löschfunktion, die funktioniert:
function deleteContact(contact){
vm.contacts.splice(vm.contacts.indexOf(contact), 1);
Stamplay.Object('contact')
.remove(contact._id, function(err, res) {
if(err) return console.log(err);
console.log(res);
})
selectOne();
};
Hier ist meine Filterfunktion, das nicht die ng-Wiederholungsliste zu aktualisieren (Ich habe überprüft, dass vm.contacts ist Wechsel):
function filterContacts(group){
angular.forEach(vm.contacts, function(contact){
if(contact.groups){
if(contact.groups.indexOf(group.groupname) === -1) {
vm.contacts.splice(vm.contacts.indexOf(contact), 1);
}
}
});
selectOne();
};
I $ scope.apply versucht, indem(), aber das warf nur einen hässlichen Fehler
Haben Sie überprüfen, ob Ihre Filterfunktion 'filterContacts' läuft? – Roy