У меня вопрос о 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);
};
});
Вам не нужно ничего перезагружать. Угловой будет наблюдать изменения объекта, переданного в ng-repeat
и автоматически повторно отображает представление, вычисляя $digest
в области.
Нет необходимости обновлять представление. Просто удалите данные из ваших $scope.pictures
используя метод splice
как вы это сделали, а затем переместите обновленные данные в $scope.pictures
например:
$scope.pictures.push(updated_data);