gpt4 book ai didi

javascript - 有没有办法以 Angular 方式从父 Controller 向子 Controller 发送 promise ?

转载 作者:行者123 更新时间:2023-11-28 05:07:15 24 4
gpt4 key购买 nike

这是我的parentController.js

angular
.module('myApp')
.controller('parentController', parentController);

parentController.$inject = [];

function parentController() {

init();

function init() {
return somePromise();
}

}

这是我的childController.js

angular
.module('myApp')
.controller('childController', childController);

childController.$inject = [];

function childController() {

init();

// need to wait for parentController init to finish
function init() {
}

}

我需要子 Controller 等待父 Controller 初始化完成。

我正在考虑使用

$scope.broadcast();

但是总是存在竞争条件的可能性,具体取决于 somePromise 需要多长时间。

有没有办法将 Promise 从父 Controller 传递到子 Controller ?

最佳答案

也许不是您想要实现的目标,但我相信您可以使用 resolve 属性解决此问题,如下所示:

.state('app.parent', {
url: 'parent/',
views: ...,
resolve: {
item: function() {
return somePromise();
}
},
controller: function(item) {
item
}
})

.state('app.parent.child', {
url: 'child',
views: ...,
resolve: {
itemChild: function(item) {
//Do something in case is nedeed
return item;
}
},
controller: function(itemChild) {
itemChild
}
})

关于javascript - 有没有办法以 Angular 方式从父 Controller 向子 Controller 发送 promise ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41641900/

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