Angularjs Angular 1.x的自定义TypeScript扩展
我正在从1.x升级到TypeScript 2.x,但在自定义类型添加时遇到了问题,例如Angular 1.x。我已从DefinitelyTyped/npm获得:Angularjs Angular 1.x的自定义TypeScript扩展,angularjs,typescript,Angularjs,Typescript,我正在从1.x升级到TypeScript 2.x,但在自定义类型添加时遇到了问题,例如Angular 1.x。我已从DefinitelyTyped/npm获得: /node_modules/@types/angular/index.d.ts 否我想扩展IFilterService定义以定义另一个重载并在/types/angular/index.d.ts中键入我的自定义筛选器 /// <reference path="../../node_modules/@types/angular/in
/node_modules/@types/angular/index.d.ts
否我想扩展IFilterService
定义以定义另一个重载并在/types/angular/index.d.ts
中键入我的自定义筛选器
/// <reference path="../../node_modules/@types/angular/index.d.ts" />
declare namespace angular {
interface IFilterService {
(name: 'shortDate'):(date:Date) => string;
}
}
但是不行:
错误TS2322:类型“{}”不可分配给类型“(日期:日期)=>string”
我确实在tsconfig
中定义了node\u模块/@types
和types
作为类型根:
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"sourceMap": true,
"typeRoots" : ["./types", "./node_modules/@types"]
},
"exclude": [
"node_modules"
]
}
我错过了什么?谢谢 对我来说很好,你忘了在什么地方打字了吗?您能否添加声明正在使用的$filter(例如参数)的注入实例的代码?有一件事,尽管不要将您的types文件夹添加到
“typeRoots”
,但您不需要这样做,这会产生误导。@AluanHaddad我更新了这个问题,指出了$filter
是如何声明的。很好,问题似乎是Angular的现有类型声明之间的相互作用。谢谢,我正在尝试为我复制好的作品,你忘了某个类型了吗?您能否添加声明正在使用的$filter(例如参数)的注入实例的代码?有一件事,尽管不要将您的types文件夹添加到“typeRoots”
,但您不需要这样做,这会产生误导。@AluanHaddad我更新了这个问题,指出了$filter
是如何声明的。很好,问题似乎是Angular的现有类型声明之间的相互作用。谢谢,我正在尝试复制
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"sourceMap": true,
"typeRoots" : ["./types", "./node_modules/@types"]
},
"exclude": [
"node_modules"
]
}