2016-05-16 30 views
1

是否有可能在ionic2項目中使用timetable.js?如何在ionic2打字稿中使用Timetable.js

http://timetablejs.org/

我試圖創建timetable.d.ts作爲初級講座。

declare class Timetable { 
    constructor(); 
    scope: string; 
    locations: Array<string>; 
    events: Array<any>; 
    setScope(start: number, end: number); 
    addLocations(locations: Array<string>); 
    addEvent(artistCode: string, stageCode: string, startDate: Date, endDate: Date); 
    Renderer(tt: any); 
} 

我試了這三個不同的代碼。

var renderer = Timetable.Renderer(timetable); 

=>它工作正常,但出現打字稿編譯錯誤:屬性「渲染」不上型「的typeof課程表」

var renderer = timetable.Renderer(timetable); 

=>編譯是確定存在的,但它並沒有顯示任何內容。

var renderer = new timetable.Renderer(timetable); 

=>編譯錯誤:只能使用'new'關鍵字調用void函數。它不顯示任何東西。

我應該只保留第一代碼嗎?

請給我任何信息,鏈接或建議。

在此先感謝。

回答

1

您正在靜態調用Renderer,這在運行時不會成爲javascript的問題,這就是爲什麼它仍然有效。您可以聲明它爲static Renderer(tt: any);或將其稱爲您聲明的Timetable對象的方法。如果時間表是你已經創建的對象,那麼你可以嘗試var renderer = new timetable.Renderer(timetable)這有點奇怪,但可能工作。

+0

感謝您的回答。添加'static'關鍵字後,我需要刪除'new'關鍵字。 – tomo

+0

實際上,當我添加'靜態'關鍵字後,錯誤停止了,但它變成了數據沒有顯示出來。我發現純文本的原因是錯誤的CSS文件名。現在它工作正常,但仍然收到編譯錯誤..我應該忽略這個錯誤? – tomo

+0

你仍然試圖靜態調用渲染器,這對JavaScript沒有影響,但對打字稿沒有影響,這就是爲什麼它仍然有效。請參閱我編輯的替代 –