Angular-ui-router 打字稿定义

2024-01-07

当我们更新应用程序以使用 angular-ui-router v1.0.3 时,我们在打字稿定义方面遇到了一些问题。 由于我们使用 $stateChangeSuccess 事件,迁移指南告诉我们现在应该使用 TransitionService.onSuccess

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

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

通过查看 node_modules 文件夹中的 ui-router 源文件夹,我可以看到源已经存在打字稿定义文件。

  1. 那么 @types/angular-ui-router 的打字稿定义是否缺少 TransitionService ?
  2. 或者我应该使用源代码提供的定义文件? (如果是这样,怎么办?)
  3. 还有其他方法吗?

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


我已经找到了关于你的问题的解决方案。 “$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";
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular-ui-router 打字稿定义 的相关文章

随机推荐

  • 如何在共享点中创建子列表

    是否可以在共享点中创建子列表 我目前正在使用文件夹来组织我的内容 但在以编程方式访问文件夹时 文件夹在共享点中是完全不同的概念 我想实现类似的目标 web 名单A 子列表1 子列表2 B表 子列表1 子列表2 EDIT 1 我正在尝试在网络
  • 使用 javascript 从数组中存在的字符串中删除双引号

    我有一个像这样的数组 数组 苹果 橙子 梨 我想删除数组中每个字符串开头和结尾的双引号 数组 苹果 橙子 梨 我尝试循环遍历数组的每个元素并进行字符串替换 如下所示 for var i 0 i lt array length i array
  • 如何一次关闭所有打开的选项卡?

    如果我打开了 10 个选项卡 我必须分别使用 q 关闭每个选项卡 我怎样才能一次性关闭它们呢 最短 最简单 最快的方法是 qa 要保存所有选项卡中的工作并退出 wqa
  • 在 Internet Explorer 中输入文件长度

    我想获取为输入文件选择的文件数 在 HTML 中 我有
  • 为什么 Dart 中显式使用“.cast<>()”函数而不是“as <>”

    在我的问题中Dart 2 X List cast 不组合 https stackoverflow com questions 49539879 dart 2 x list cast does not compose答案需要转换List
  • 如何发布Web应用程序?

    我真的不知道如何在Web开发中正确执行从离线开发到实时Web服务器的部署 我主要依靠直觉 但这或多或少是我到目前为止所做的 我有一个 python 或 php 的 Web 应用程序 并将其托管在实时 Web 服务器上 我用的是离线开发版本
  • 使用终端和 MacFusion 时出现 GIT_DISCOVERY_ACROSS_FILESYSTEM 问题

    我使用 MacFusion 和 OSXFuse 类似于 MacFuse 通过 SSH 将我的服务器安装到我的办公室计算机上 当我 cd 进入服务器上的 Rails 工作目录时 我在 zsh 提示符中看不到任何 git 信息 如果我尝试 gi
  • Android 中的 HTTP 客户端 API 级别 11 或更高级别

    我有 Jersey 实现的 Restful Web 服务 我通过 HTTP 客户端从 Android 进行连接以获取数据 它在 API 级别 10 及更早版本中工作正常 但在 API 级别 11 或更高版本上则不行 我很感激任何帮助 我在这
  • 按元素上的条件值对 numpy 数组元素进行排序

    我需要通过增加与另一个点的距离来对点的 numpy 数组进行排序 import numpy as np def dist i j ip jp return np sqrt i ip 2 j jp 2 arr np array 0 0 1 2
  • @Valid 注释在应用于 MultipartFile 对象时会被忽略

    这是我的控制器 它接受一个multipart form data有两个字段的请求 form and file The form字段是一个MyObject the file字段是一个MultipartFile 两个变量都注释为 Valid 因
  • 自定义商店页面产品以直接进入联属网站

    我需要在 WooCommerce 上使用什么 这样当您在商店 目录页面上看到产品时 它会直接链接到联属网站 而不是通过单个产品页面 然后 如果可能的话 在新选项卡中打开它 Thanks 更新 添加了 WC 3 兼容性 对于您的情况 您需要自
  • DDD,反腐败层,如何做?

    目前 我们必须构建一个基于遗留应用程序的应用程序 旧应用程序的代码应该被丢弃并重写 但正如通常情况一样 我们需要在其基础上创建新的东西 而不是重写它 最近 我们决定走领域驱动设计之路 因此 反腐败层可以解决我们的问题 据我了解 这样应该可以
  • 如何在 Tornado 中将异步函数和 gen 函数包装在一起?

    如何在 Tornado 中将异步函数和 gen 函数包装在一起 我的代码如下所示 错误是 Future 对象没有属性 body 我是否以错误的方式放置了装饰器 import tornado httpclient import tornado
  • 如何使这种排序不区分大小写?

    def sortProfiles p return sorted p key itemgetter first name 我有一个带有字典的列表 这个函数允许我按他们的名字对他们进行排序 但是 它区分大小写 gt gt gt from op
  • 甲骨文银行家规则

    为什么 Oracle 不使用银行家统治 http en wikipedia org wiki Rounding Round half to even 舍入方法 精确的十进制算术是一个庞大而复杂的课题 如果你想阅读关于这个主题的 ahem O
  • 默认模板参数和部分特化

    请向我解释为什么下面的代码符合并完美运行 我很困扰 include
  • javascript 将事件绑定到类名的更改

    javascript jQuery 是否可以将函数绑定到 DOM 元素的类名更改或分配新类 不 更新类时不会触发广泛支持的事件 你必须进行民意调查 部分浏览器支持DOM 突变事件 http www w3 org TR DOM Level 3
  • Laravel 5.3 中的路由保护问题

    我在 Laravel 中创建了一个登录 注册页面 它工作正常 但我想通过允许经过身份验证的用户单独访问 URL 来保护路由 这是我的 web php Route get uses gt UserController getLogin as
  • 如何修改 Swing 在布局文本组件时使用的剪辑字符串省略号

    默认情况下 Swing 使用省略号 来指示 JLabel 和类似的基于文本的组件中的文本已被截断 是否可以更改此行为以使用不同的字符串 例如 gt 通过查看 Swing 代码 我在 SwingUtilities2 中发现了一个名为 Clip
  • Angular-ui-router 打字稿定义

    当我们更新应用程序以使用 angular ui router v1 0 3 时 我们在打字稿定义方面遇到了一些问题 由于我们使用 stateChangeSuccess 事件 迁移指南告诉我们现在应该使用 TransitionService