angularjs - $transition$ 在 Controller /ui-router 1.0.0-beta.3 中注入(inject)时不工作

标签 angularjs angular-ui-router

在官方文档中:

https://ui-router.github.io/docs/latest/modules/ng1.html ,在示例中:

MyController.$inject = ['$transition$'];
function MyController($transition$) {
    var username = $transition$.params().username;
    // .. do something with username
}

$transition$ 被注入(inject)到 Controller 中,但是当我对 angular 1.6.1 和 ui-router 1.0.0-beta.3 执行相同操作时,我有以下错误,使用组件架构: 错误:[$injector:unpr] 未知提供者:$transition$Provider

我只能在解析中注入(inject) $transition$。

最佳答案

来自 ui-router Route to Component指南:

When routing to a legacy style template/controller (not routing to components), the transition could be injected as $transition$.

...

To access the Transition on a routed component, you should bind to $transition$ in your component.

正如您所指出的,因此这只能在路由到组件时通过解析访问。这是因为 $transition$ 服务是一种局部范围的可注入(inject)程序,不适用于组件。更多信息可以在问题 ui-router#3110 中找到

关于angularjs - $transition$ 在 Controller /ui-router 1.0.0-beta.3 中注入(inject)时不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41469566/

相关文章:

angularjs - $stateChangeSuccess 在 Controller 实例化后被解雇

angularjs - 使用 ng-controller 注入(inject)所需的依赖项

javascript - 用户点击 "open link in new tab"时调用函数

javascript - AngularJS:根据隐藏子项的数量隐藏父项

javascript - 在 UI-Grid 中调用 cellClass 函数的通用函数

angularjs - 了解 Controller 和模块angularJs

javascript - Angular 限制对 View 的访问,除非有 cookie

javascript - 使用json数据在angularjs中绘制折线图

javascript - AngularJS 忽略内联样式

javascript - Angular ui-router加载 View 两次