gpt4 book ai didi

AngularJs ui-router成功转换获取 Controller

转载 作者:行者123 更新时间:2023-12-02 00:51:55 25 4
gpt4 key购买 nike

我已经创建了一个服务来运行任何已请求的 http 请求。这在 ui-router onSuccess 钩子(Hook)中运行,看起来像这样:

$transitions.onSuccess({}, function() {
document.body.scrollTop = document.documentElement.scrollTop = 0;
console.log('%cwe have completed a transition', 'color: green;');
httpQueueService.process();
});

这个问题是 Controller 在这个钩子(Hook)之后初始化,所以我不能在不添加超时的情况下捕获 http 请求:

function process() {
$timeout(() => {
let t = angular.copy(queue);
console.log('processing', t, t.length);
queue.forEach((task) => invoke(task));
}, 500);
}

我知道超时只有半秒,我可能会进一步减少它,但这似乎不对。如果能直接从success hook中获取已经初始化好的controller就更好了。

有没有办法做到这一点?

我确实通过查看成功 Hook 中的转换对象进行了尝试:

$transitions.onSuccess({}, function(transition) {
console.log(transition);
});

但是那里似乎没有 Controller

最佳答案

您正在寻找的是用户界面路由器状态的“解决”选项。如果我正确理解您的描述,您正在尝试将数据(从您的 httpQueueService)异步加载到新状态的 Controller 。我建议你看看官方的 ui-router 文档,尤其是教程。显然你可以跳过大部分,所以从第二个开始:https://ui-router.github.io/ng1/tutorial/hellosolarsystem对你来说似乎可行。

基本上它处理您正在做的事情的异步性质 - 没有添加任何确切的、硬编码的超时。

这是另一篇很棒的文章,我发现它在处理转换的异步查询时很有帮助:https://medium.com/opinionated-angularjs/advanced-routing-and-resolves-a2fcbf874a1c

我希望这对您有所帮助,但是,如果您有任何更具体的问题,请告诉我们!

关于AngularJs ui-router成功转换获取 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56900650/

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