以下是我的角度控制器代码 -
$scope.visibility = true;
$http.get("/api/getempl").then(function(response){
if (response.status == 200) {
$scope.empData = response.data.data;
(function(){
setTimeout(function(){
$scope.visibility = false;
}, 4000);
})();
}
});
我正在尝试显示加载图像,直到数据未被提取并在响应的基础上标记$scope.visibility
-
.col-md-12(ng-show="visibility")
h1 LOADING
.col-md-12(ng-show="!visibility")
// DATA IN TABLE
现在LOADING文本始终可见,因为我希望一旦获取数据,在延迟显示表数据但它不起作用之后,让我知道我在这里做错了什么。
答案 0 :(得分:2)
使用$ timeout
Angular的window.setTimeout包装器。 fn函数被包装到try / catch块中,并将任何异常委托给$ exceptionHandler服务。
$scope.visibility = true;
$http.get("/api/getempl").then(function(response){
if (response.status == 200) {
$scope.empData = response.data.data;
$timeout(function(){
$scope.visibility = false;
}, 4000);
}
});
答案 1 :(得分:1)
使用$timeout
代替setTimeout
:
$scope.visibility = true;
$http.get("/api/getempl").then(function(response){
if (response.status == 200) {
$scope.empData = response.data.data;
$timeout(function(){
$scope.visibility = false;
}, 4000);
}
});
请参阅工作示例:jsFiddle example