使用 UI 路由器从解析函数调用服务中新状态的 $stateParams

Access $stateParams of new state in service called from resolve function with UI Router(使用 UI 路由器从解析函数调用服务中新状态的 $stateParams)

本文介绍了使用 UI 路由器从解析函数调用服务中新状态的 $stateParams的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Is there a way to access $stateParams for the state you're transitioning to from a service called in a resolve function? With ngRoute you'd use $route.current.params. As this minimal plunk shows, the service only sees the state you're leaving:

http://plnkr.co/edit/QpwgAj?p=preview

I get the new $stateParams when $stateParams is injected directly into a resolve function, but the values are still behind by one route in the service.

What am I missing?

解决方案

You can't inject the the incoming parameters into the service itself, but you can pass them to a function in the service (or you could also assign them to a property in the service).

this plunker shows how to pass them to a function, which in turns stores them to a property in the service. Using a "dummy" property shouldn't hurt, but it is a bit ugly. :)

It might make more sense to pass the parameters to the controller as a resolve property and then hand them out to a service from the controller constructor... that's what I'd do.

这篇关于使用 UI 路由器从解析函数调用服务中新状态的 $stateParams的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:使用 UI 路由器从解析函数调用服务中新状态的 $stateParams

基础教程推荐