gpt4 book ai didi

javascript - AngularJS - 我如何知道父 Controller 上的 promise 何时得到解决?

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

我有一个指令依赖于其父 Controller 的数据。此数据在 promise 中返回。我如何知道存在于父 Controller 上的 promise 何时已解决?

父 Controller

angular.module("UserShoes").controller("UserController", function ($scope) {
$scope.user = User.get({
userId: 1
});

$scope.shoes = [];

$scope.user.$promise.then(function (data) {
data.shoes.forEach(function (shoe, index) {
if (shoe) {
$scope.shoes.push(shoe);
}
});
});
});

指令

angular.module("UserShoes").directive("Shoes", ["", function () {
return {
...

controller: function ($scope) {
// When will $scope.parent.shoes be ready? :-(
}
...
}
}]);

最佳答案

您可以广播一个事件并在您的指令中监听该事件。

从你的父 Controller :

angular.module("UserShoes").controller("UserController", function ($scope) {
$scope.user = User.get({
userId: 1
});

$scope.shoes = [];

$scope.user.$promise.then(function (data) {
data.shoes.forEach(function (shoe, index) {
if (shoe) {
$scope.shoes.push(shoe);
}
});
$scope.$broadcast('shoes-ready',$scope.shoes);
});
});

来自你的指令

$scope.$on('shoes-ready',function(evt,shoes){ /*process shoes*/})

关于javascript - AngularJS - 我如何知道父 Controller 上的 promise 何时得到解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29270009/

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