В моем /ext/app-entension.ts
("typcript": "^ 2.4.2") я объявляю функцию расширения для класса App
(ионно-углового):
// **error #1** from the list below
import { NavController, App } from "ionic-angular";
interface App {
getMyCoolNav(): NavController;
}
// **error #2** from the list below
App.prototype.getMyCoolNav = function(this: App): NavController {
// logic to define suitable nav combining the following calls
// this.getRootNavs && this.getActiveNavs
// **error #3** from the list below
}
И в моемСтраницы Я могу просто импортировать это расширение и использовать его без каких-либо проблем:
import { NavController, App } from "ionic-angular";
import '../ext/app-extensions'
// **error #4** from the list below
this.app.getMyCoolNav().push(MyCoolPage);
Он отлично работает во время выполнения, в то время как VS Code / Typescript доставляет мне неприятности со всеми видами ошибок:
- import: [ts] Объявление импорта конфликтует с локальным объявлением «App».
- Назначение прототипа: [ts] Свойство «getMyCoolNav» не существует для типа «App».
this
использование в прототипе: [ts] Свойство 'getRootNavs' не существует в типе 'App'. - на моих страницах: [ts] Свойство 'getMyCoolNav' не существует в типе 'App'.
Что может быть не так с моей регистрацией метода расширения?