2016-05-16 41 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没有影响,但对打字稿没有影响,这就是为什么它仍然有效。请参阅我编辑的替代 –