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

标签 javascript angularjs angular-ui angular-ui-router

有没有一种方法可以访问 $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/

相关文章:

angularjs - 如何使用 HTML 内容创建 AngularJS UI 引导弹出窗口?

javascript - ng-click 不会在已编译的模板内触发

javascript - 多个元素变量上的 jQuery 事件处理程序

javascript "strict"和实例化全局模块

javascript - Angular JS 入门 - 结构和其他问题

javascript - PokeAPI + Angular : How to get pokemon's evolution chain

javascript - 单击十字以删除 Angular-UI-Select 的多选框中的选项重定向到应用程序主页

javascript - 如何将数据传递给嵌套的子组件vue js?

javascript - 如何使用 Reactjs 在新选项卡中将 Canvas 作为图像打开

javascript - 使用 Angular js 嵌入 Html 页面