我已经找到了关于你的问题的解决方案。 “$transitions”的类型为 TransitionService。
您可以从应用程序的任何 .ts 文件中的“@uirouter/angularjs”导入 TransitionService。那么请使用 angularjs 的依赖注入。
路由器.ts 文件:
import { TransitionService } from '@uirouter/angularjs';
export class AppRouter {
static inject = ['$rootScope', '$state', '$stateParams', '$transitions'];
constructor(
$rootScope: any,
$state: ng.ui.IStateProvider,
$stateParams: ng.ui.IStateParamsService,
$transitions: TransitionService
)
{
$rootScope.$state = $state;
$rootScope.$stateParams = $stateParams;
}
}
app.ts:
angular
// main module initialization and injecting third party modules
.module(app, [
'schemaForm', 'ui.router', 'base64', 'ng', 'ngMessages', 'angularMoment'
])
// angularjs configs
.config(routesConfig)
.run(['$rootScope', '$state', '$stateParams', '$transitions', AppRouter])
另请记住,下页描述的其他服务:https://ui-router.github.io/ng1/docs/latest/modules/injectables.html https://ui-router.github.io/ng1/docs/latest/modules/injectables.html可以以相同的方式注入:从“@uirouter/angularjs”导入。
Example:
import {
StateService, TransitionService, Transition, UrlRouter, UrlMatcherFactory,
StateParams, StateRegistry, UIRouterGlobals, UIRouter, Trace, UrlService
} from "@uirouter/core";