2012-12-19 91 views

回答

7

我不认为你可以延长时间有一个额外的静态属性。可以按如下方式扩展其原型:

interface Date { 
    min: Date; 
} 

Date.prototype.min = new Date(); 

var x = new Date(); 
alert(x.min.toString()); 

做你真正想做的事情,你居然就必须做出改变,以lib.d.ts:

declare var Date: { 
    new(): Date; 
    new (value: number): Date; 
    new (value: string): Date; 
    new (year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; 
    (): string; 
    prototype: Date; 
    parse(s: string): number; 
    UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; 
    now(): number; 
    min: Date; 
} 

并进行扩展在纯JS中,除了TypeScript生成的JavaScript之外,还要加载它。

Date.min = new Date(); 
+0

是否有任何其他方式来定义静态属性?而无需更改lib.d.ts. –

+1

我会弹出一个答案在这里:http://stackoverflow.com/questions/13955157/how-to-define-static-property-in-typescript-interface – Fenton