如何在承诺解决后激活 ng-show

How to cause ng-show to activate after a promise resolves

我有一个 ng-repeat,里面有一个 ng-show。在我的控制器中的承诺解决之前,传递给 ng-show 的变量不会完全启动。

这导致 ng-show 总是以读取 "falsey" 对象结束,因为它在 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>