2016-05-16 2 views
1

Возможно ли использовать timetable.js в проекте ionic2?Как использовать Timetable.js в ionic2 typescript

http://timetablejs.org/

Я попытался создать timetable.d.ts как Belows.

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); 

=> Он работает правильно, но ошибка машинопись компиляции происходит: свойство «Renderer» не существует на типе «TYPEOF Расписание»

var renderer = timetable.Renderer(timetable); 

=> компиляции в порядке, но он ничего не показывает ,

var renderer = new timetable.Renderer(timetable); 

=> Ошибка компиляции: только ключевое слово 'new' может быть вызвано только функцией void. и он ничего не отображает.

Должен ли я хранить 1-й код?

Пожалуйста, дайте мне любую информацию, ссылку или предложения.

Заранее спасибо.

ответ

1

Вы вызываете Renderer статически, что не будет проблемой для javascript во время выполнения, поэтому он все еще работает. Вы можете объявить его как static Renderer(tt: any); или назвать его как метод объекта Timetable, как вы заявили. Если расписание - это объект, который вы уже создали, вы можете попробовать var renderer = new timetable.Renderer(timetable), который немного странный, но может работать.

+0

спасибо за ваш ответ. Мне нужно было удалить «новое» ключевое слово после добавления ключевого слова static. – tomo

+0

Фактически после того, как я добавил ключевое слово «статические», ошибка остановилась, но она не стала отображаться. Я обнаружил, что причиной простого текста было неправильное имя файла css. Теперь он работает правильно, но все же я получаю ошибку компиляции. Должен ли я просто игнорировать эту ошибку? – tomo

+0

вы по-прежнему пытаетесь вызвать Renderer статически, что не имеет значения для javascript, но делает это для машинописного текста, поэтому оно все еще работает. Посмотрите мое редактирование на ответ для альтернативы –

Смежные вопросы