gpt4 book ai didi

javascript - Angular,停止渲染直到获得异步数据

转载 作者:行者123 更新时间:2023-11-29 21:40:16 29 4
gpt4 key购买 nike

我对 AngularJS 有疑问。我想为某些数组制作 ng-repeat。但是我从 Controller 中的 firebase 获得了这个数组的数据。问题是,当页面呈现时,我仍在等待来自从 firebase 获取数据的异步函数的数据。

控制它的最佳方法是什么?我尝试使用 promise,但出了点问题,页面在我从 firebase 获取数据之前就已呈现。

$scope.games = [];
function getOnce(){
var defer = $q.defer();
ref.once("value", function(data) {
defer.resolve();
$scope.games.push('test');
});
return defer.promise;
}

$scope.getdata = getOnce().then(function(data){
console.log('success');
console.log(data);

});

然后我在 init 'data-ng-init="getdata()"' 上调用 '$scope.getdata' 函数我在这里错了什么?或者我怎样才能实现我的目标?

最佳答案

在方法 resolve 中传递数据。然后用数据响应填充数组。

$scope.games = [];
function getOnce(){
var defer = $q.defer();
ref.once("value", function(data) {
defer.resolve('test');
});
return defer.promise;
}

$scope.getdata = getOnce().then(function(data){
$scope.games.push(data);
console.log('success');
console.log(data);
});

关于javascript - Angular,停止渲染直到获得异步数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33203331/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com