你会如何告诉 TypeScript 使用 DatejsDate
而不是内置Date
对象?
我尝试添加对 js 文件的引用并将 Date 声明为any
ie类型declare var Date: any;
,但这并没有解决错误。
编辑: 我发现了这个问题,但它谈到了指定要包含的方法。我想知道是否可以让它保持开放式并简单地关闭 Date 的类型检查;
你会如何告诉 TypeScript 使用 DatejsDate
而不是内置Date
对象?
我尝试添加对 js 文件的引用并将 Date 声明为any
ie类型declare var Date: any;
,但这并没有解决错误。
编辑: 我发现了这个问题,但它谈到了指定要包含的方法。我想知道是否可以让它保持开放式并简单地关闭 Date 的类型检查;
为了让您开始延长原生日期,它看起来像这样:
interface DateIs {
monday(): bool;
// ctd...
january(): bool;
// ctd...
weekday(): bool;
}
interface DateAdd {
days(): Date;
months(): Date;
// ctd...
}
interface Date {
parse(date: string): Date;
today(): Date;
next(): Date;
last(): Date;
monday(): Date;
// ctd...
january(): Date;
// ctd...
addDays(days: number): Date;
addMonths(months: number): Date;
add(quantity: number): DateAdd;
is(): DateIs;
}
有了这个例子,你可以继续添加你使用的函数,我以一个月为例,所以你可以填写 february() 以及你认为合适的短 jan() 变体!
没有办法使用类型(Date
在这种情况下)将现有变量转换为any
.
最好的选择是Date
使用 datejs 的新方法扩展接口。希望在某个时候有人会这样做并将其上传到DefinedTyped。
您可以采取两种解决方法:
var Date2 = <any>Date;
// Use Date2 anywhere you would use Date
另一种解决方法是仅修改lib.d.ts
为声明Date
为any
. 显然,这会在任何地方产生副作用,但会起作用。
从 nuget 安装包 'datejs.typescript.definitelytyped'
http://www.nuget.org/packages/datejs.TypeScript.DefinitelyTyped/
添加对类型文件的引用。在全局脚本文件中声明一个全局变量,或者在一个类中声明一个私有静态成员变量或只是一个局部变量,分配如下面的代码所示。
/// <reference path="typings/datejs/datejs.d.ts" />
var DateJs: IDateJSStatic = <any>Date;
我目前正在编写 SPA 应用程序,因此我使用了代码示例中所示的全局变量。