加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – Angular-ui-router typescript定义

发布时间:2020-12-17 06:51:48 所属栏目:安全 来源:网络整理
导读:当我们更新我们的应用程序以使用angular-ui-router v1.0.3时,我们遇到了一些打字稿定义的问题. 由于我们使用$stateChangeSuccess事件,迁移指南告诉我们现在应该使用TransitionService.onSuccess 当所有内容都编译成js时它工作正常,但问题是Typescript定义文
当我们更新我们的应用程序以使用angular-ui-router v1.0.3时,我们遇到了一些打字稿定义的问题.
由于我们使用$stateChangeSuccess事件,迁移指南告诉我们现在应该使用TransitionService.onSuccess

当所有内容都编译成js时它工作正常,但问题是Typescript定义文件中不存在TransitionService(使用npm / @ types下载),在构建时给我们带来了麻烦.

https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/angular-ui-router

通过查看node_modules文件夹中的ui-router源文件夹,我可以看到已存在源的typescript定义文件.

>那么@ types / angular-ui-router的打字稿定义是否缺少TransitionService?
>或者我应该使用随源提供的定义文件? (如果是这样,怎么样?)
>其他一些方式?

angular-ui-router api TransitionService:https://ui-router.github.io/ng1/docs/latest/classes/transition.transitionservice.html.

解决方法

我找到了解决你问题的方法. “$transitions”具有TransitionService类型.

您可以在应用程序的任何.ts文件中从’@ uirouter / angularjs’导入TransitionService.然后请使用angularjs的依赖注入.

router.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','$transitions',AppRouter])

另请注意以下页面中描述的其他服务:https://ui-router.github.io/ng1/docs/latest/modules/injectables.html
可以以相同的方式注入:从’@ uirouter / angularjs’导入.

例:

import {
     StateService,TransitionService,Transition,UrlRouter,UrlMatcherFactory,StateParams,StateRegistry,UIRouterGlobals,UIRouter,Trace,UrlService
 } from "@uirouter/core";

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读