Как перезагрузить ng-repeat после удаления элемента

0

У меня вопрос о ng-repeat. У меня есть эта веб-страница, где я загружаю фотографии, получая их из ответа json, и я добавил плагин (flex-images), который обрабатывает размер изображений и выглядит. Дело в том, что плагин работает только в том случае, если массив изображений обновляется, но это не происходит, когда я удаляю элементы из массива изображений. Мой вопрос: как я могу заставить ng-repeat обновиться? Код ниже, спасибо заранее:

app.directive('onLastRepeat', function() {
return function(scope, element, attrs) {

    if (scope.$last) setTimeout(function() {
        $('#items').flexImages({ rowHeight: 500 });
    }, 1);
};

});

    app.controller('customersCtrl', function($scope, $http, $rootScope,       $window, $location, $timeout, ngDialog, toaster, $sce) {


 $scope.deletePicture = function(id,index) {
    $scope.pictures.splice(index, 1);
    };
});
Теги:
angularjs-ng-repeat

2 ответа

1

Вам не нужно ничего перезагружать. Угловой будет наблюдать изменения объекта, переданного в ng-repeat и автоматически повторно отображает представление, вычисляя $digest в области.

1

Нет необходимости обновлять представление. Просто удалите данные из ваших $scope.pictures используя метод splice как вы это сделали, а затем переместите обновленные данные в $scope.pictures например:

$scope.pictures.push(updated_data);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню