gpt4 book ai didi

angularjs - ui-router 在使用 $state.go() 时不运行父状态的解析 promise

转载 作者:行者123 更新时间:2023-12-04 23:00:50 25 4
gpt4 key购买 nike

我有一个带有解决 promise 的抽象父状态,它返回有关当前用户的信息。该信息被注入(inject)到所有子状态的 Controller 中。

但是,当我使用 $state.go('parent.child')未执行解决 promise 功能。如果我浏览到表示该状态的 URL,它执行得很好。

我是否需要在每个子状态上指定解析对象并从父状态中省略它?

最佳答案

对于给定的 $stateParams 集合,父状态解析只会解析一次。值(value)观。如果父状态不依赖 $stateParams或者不使用任何,那么它的依赖只会被解析一次,而不管任何子状态的变化。

您看到的行为差异是子状态更改不会导致父资源重新加载,而位置更改将重新加载完整的父状态和子状态。

您可以在 plunk 中观察到这种行为。 .

该示例有一个 $stateParams子级所依赖的父级状态中的值。通过 $state.go 更改状态或 ui-sref (两种方法都提供)将导致父资源的刷新。但是,将状态更改为子状态而不更改 $stateParams参数不会刷新父资源,会提供之前返回的值。

关于angularjs - ui-router 在使用 $state.go() 时不运行父状态的解析 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25354046/

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