У меня есть список контактов с использованием ng-repeat (я использую свой контроллер как vm), который обновляется, когда я добавляю новый контакт, редактирую текущие или удаляю контакты - но не когда я пытаюсь фильтровать список. Вот нг-повторNg-Repeat Not Updating With Array Change
<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)">
Вот моя функция удаления, которая работает:
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();
};
Вот моя фильтрация функция, не обновляя нг повтора списка (я проверил, что vm.contacts является изменение):
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();
};
Я попробовал, добавив $ scope.apply(), но это просто бросил уродливый ошибку
ли вы проверить, если ваша функция фильтра 'filterContacts' работает? – Roy