2016-05-22 73 views
1

我試圖擴展接口,特別是:moment.Moment,添加一個新的方法:打字稿:自己d.ts內擴展接口文件

app.js:

/// <reference path="../typings/tsd.d.ts" /> 
/// <reference path="./tools.d.ts" /> 

console.log(moment().isWeekend()); 

tools.d.ts:

declare module moment { 
    interface Moment { 
    isWeekend(): boolean; 
    } 
} 

但是編譯時,我得到這個錯誤:

Property 'isWeekend' does not exist on type 'Moment' 

我錯過了什麼步驟來確保將此方法添加到Moment界面?

回答

-1

isWeekend是一個功能,您必須聲明函數類型如下圖所示,

isWeekend :() => boolean; 

要更多去Function Types

希望這有助於!

+0

不好意思,但接口方法聲明本身很好,我確實知道。在你鏈接的頁面上的「interface Something」的Ctrl-F,你會看到這個例子。 –

+0

哇,很高興知道,你爲什麼使用模塊時刻作爲函數?這可能是問題的原因嗎?你不能聲明一個矩的返回類型是Moment接口類型的函數嗎? –

1

好的,問題是在我的tools.d.ts文件中,我引用了其他.ts文件,然後引用了tools.d.ts文件中尚未處理的東西。