在官方文档中:
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/