有没有一种方法可以访问 $stateParams
以获取您要从解析函数中调用的服务转换到的状态?对于 ngRoute
,您将使用 $route.current.params
。正如这个最小的 plunk 所示,该服务只会看到您要离开的状态:
http://plnkr.co/edit/QpwgAj?p=preview
当 $stateParams
被直接注入(inject)解析函数时,我得到了新的 $stateParams
,但值仍然落后于服务中的一个路由。
我错过了什么?
最佳答案
您无法将传入参数注入(inject)服务本身,但您可以将它们传递给服务中的函数(或者您也可以将它们分配给服务中的属性)。
this plunker展示了如何将它们传递给一个函数,该函数又将它们存储到服务中的一个属性中。使用“虚拟”属性应该不会有什么坏处,但有点难看。 :)
将参数作为解析属性传递给 Controller ,然后将它们从 Controller 构造函数传递给服务可能更有意义……这就是我要做的。
关于javascript - 使用 UI 路由器访问从解析函数调用的服务中新状态的 $stateParams,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18565221/