我有一个关于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);
};
});
答案 0 :(得分:1)
您无需重新加载任何内容。 Angular将观察传递给ng-repeat
的对象的更改,并通过计算范围上的$digest
自动重新呈现视图。
答案 1 :(得分:1)
无需刷新视图。只需使用$scope.pictures
方法从splice
中移除数据,然后将更新的数据推送到$scope.pictures
,如:
$scope.pictures.push(updated_data);