【问题标题】:DefinitelyTyped only showing Namespace绝对类型只显示命名空间
【发布时间】:2016-06-24 09:12:39
【问题描述】:

我在带有 ui-grid 的 Angular 项目中使用打字稿。我已经为ui-grid 安装了DefinitelyTyped 文件:https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/ui-grid/ui-grid.d.ts

在 Visual Studio 中,我的智能感知适用于我的其他 d.ts 文件。我可以看到角度对象和所有成员。

对于这个类型化的文件,我只能看到命名空间:{} uiGrid

键入 uiGrid。显示没有成员。手动键入我从 d.ts 文件中看到的成员,打字稿编译器会拒绝它。

由于我所有其他类型的文件都可以正常工作,这里有什么人推荐的吗?

【问题讨论】:

  • 你导入了吗?你可以添加你正在做的导入行吗?
  • 我没有专门导入它,因为我不必导入我的其他 d.ts 文件来让它们工作。
  • 你使用命名空间还是使用什么模块系统?你有一个 typings.json 文件吗?
  • 我只使用模块,不确定您所说的模块系统是什么意思。我只是使用“use strict”的常规模块我没有typings.json 文件。到目前为止还没有需要,所以我实际上什至不熟悉。编辑:我没有 typings.json 文件,因为我没有使用 npm typings 来安装文件。我正在使用 nuget。
  • 你写module moduleName { ... } 吗?如果是这样,您需要使用'import blabla from otherModuleName.Class;' 或import { blalba } from 'otherModuleName'。看这里:typescript module system

标签: angularjs typescript angular-ui-grid definitelytyped


【解决方案1】:

我可以看到 uigrid 和 d.ts 之类的 angular 之间的主要区别是 angular 有一个名为 angular 类型为 IAngularStatic 的导出变量,这意味着 angular 对象具有静态方法,而 uiGrid 没有这样的变量。所以当你写angular.时,你实际上看到了接口IAngularStatic的所有方法。

【讨论】:

  • 这看起来是个问题,而且打字只是没有按照相同的约定构建。
猜你喜欢
  • 2022-12-31
  • 2013-03-25
  • 2014-12-08
  • 2011-08-16
  • 2011-05-17
  • 1970-01-01
  • 1970-01-01
  • 2019-03-24
  • 2012-06-19
相关资源
最近更新 更多