Я использую IFrame Transport Plugin для JQuery. Он вводит новое свойство iframe
на интерфейсе JQueryAjaxSettings
. К сожалению, у плагина нет файла определения, что означает, что он вызывает ошибки в Intellisense и при компиляции проекта, потому что я должен использовать это свойство iframe
в своем коде.Расширение JQueryStatic для плагина JQuery, у которого нет файла определения
Так что я создал 2 новых интерфейсов в отдельном d.ts
файла для расширения файла определения Jquery в:
interface JQueryIframeTransportStatic extends JQueryStatic {
ajax(settings: IJQueryIframeTransportAjaxSettings): JQueryXHR;
}
interface IJQueryIframeTransportAjaxSettings extends JQueryAjaxSettings {
iframe: boolean;
}
Но это выдает следующее сообщение об ошибке при компиляции:
TS2430: Сложение: JQueryStaticIframeTransport интерфейс» 'неправильно расширяет интерфейс' JQueryStatic '.
Я вижу, что TypeScript может быть смущен новой функцией ajax
, введенной моим интерфейсом. Но у него другая подпись. Как еще я могу его продлить?
Ваша первая версия сработала. Второй - нет. Но я счастлив :) – Sandro
Нет проблем, кстати, я тоже попробовал вторую версию, и это сработало для меня – Abhishek