setTimeout(function () {
$scope.$apply(function () {
$scope.Images = data;
//$scope.$apply();
});
}, 2000);
setInterval(function () {
$scope.Images = data;
$scope.$apply()
}, 500);
$timeout(function () {
$scope.Images = data;
}, 500);
})
我在控制器中尝试了上面列出的所有选项,但是当我上传新图像时,我的视图没有得到更新。
这里$ scope.Images是数组,在图片上传后,我将获取所有图片并将所有图片分配到$ scope.Images,更新的数据即将到来,$ scope.Images也会更新但相关视图没有刷新。
视图中的行:
<div ng-repeat="Image in Images" class="col-xs-6 col-sm-3 gallery-item">
<a href={{Image.standard}} class="gallery-link" data-gallery>
<img ng-src={{Image.standard}} class="img-rounded" width="100%" height="262.22px" ng-cloak>
</a>
</div>
请帮助我卡住:(
答案 0 :(得分:0)
考虑将$ scope变量传递给稍后运行的代码,在angular之外;例如:
setInterval(
(function ($scope) {
return function(){
$scope.Images = data;
$scope.$apply()
}
})($scope), 500);
这将创建一个带参数$ scope的函数,该函数允许随时注入$ scope变量。
我知道一开始看起来很奇怪,但这种结构在这种情况下证明是有用的。