В настоящее время мы смотрим на перевод нашего проекта JavaScript на TypeScript. Наше приложение в значительной степени опирается на пользовательские разработанные виджеты jQuery UI.
В нашей текущей базе кода мы используем механизм глубоких копий, чтобы наследовать от определений виджетов, позволяя нам, например, объявить общий TableWidget
, а также OrdersTableWidget
, который определяет более конкретные функции.
Поэтому я хотел бы определить мои определения виджетов как классы TypeScript, а затем привязать экземпляр этих классов к jQuery.
Например
class MyWidget {
options: WidgetOptions;
_init(){
// general initialization
}
}
class MySecondWidget extends MyWidget {
_init(){
super._init();
// specific initialization
}
}
И затем
$.widget("MyNameSpace.MyWidget", new MyWidget());
$.widget("MyNameSpace.MySeWidget", new MyWidget());
Кроме того, я хотел бы обозначить свои пользовательские виджеты как реализации определения jQuery UI Widget
class MyWidget implements Widget {
options: WidgetOptions;
_init(){
// general initialization
}
}
поэтому я могу использовать следующий синтаксис в TypeScript:
$(selector).MyWidget(options);
Я знаю, что мне нужно работать с файлом определения (от DefinitelyTyped), однако я еще не нашел надежного источника, объясняющего, как я должен писать пользовательские jQuery UI Widgets в TypeScript. Кто-нибудь получил опыт с этим?
Любая помощь очень ценится, как всегда!