我有一个包含ng-show的ng-repeat。传递给ng-show的变量直到控制器中的promise被解析后才被完全启动。
这会导致ng-show总是以读取"false "对象结束,因为它在promise完成从服务获取正确结果之前读取了该值。
是否有办法使ng-show等待,直到我的对象完全初始化?
您可以使用控制变量,如$scope.loaded = false
,并将您的承诺设置为true
。然后,您可以在ng-show
中使用这两个条件。
在页面加载中设置一个标志值。
app.controller({.......
$scope.flagPromiseWait = false;
.........
.........
var onSuccess = function (result){
.............
............
$scope.flagPromiseWait = true;
},
var onError = function(err){
............
}
});
和在HTML上使用
<div ng-show="$scope.flagPromiseWait">...........<div>