2016-09-19 81 views
0

我在其中一個項目中使用OpenLayers 3,並從DefinitelyTyped(Definition File)中檢索到TypeScript定義文件,但缺少一些函數,我必須手動將其添加到聲明文件中。其中之一是ol.inherits-功能(OpenLayers 3 API Reference)。TypeScript聲明文件:命名空間中的函數

由於ol關鍵字被用作命名空間標識符,所以我無法直接在命名空間中放置一個函數,因此我很難定義這個函數。

我也試着添加這樣的東西,但顯然它說重複的標識符

interface olStatic { 
    inherits(childCtor:() => any, parentCtor:() => any); 
} 
declare var ol: olStatic; 

回答

0

我已經爲ol3創建了自己的定義文件。我不確定這是否有幫助,但在我自己的文件中,我確實定義了ol.inherits,如下所示:

declare module ol { 

function inherits(arg1:any, arg2:any); 
........................ 
export class Collection<T> { 
............................ 
+0

它對我有用。謝謝。 – 0xDECAFBAD