Я пытаюсь расширить ng.IModule
для поддержки регистрации пользовательских компонентов, но это постоянно выдает мне ту же ошибку:
Свойство 'customComponent' не существует для типа 'IModule'.ts (2339)
Вот мой код:
tsconfig.json
{
"module": "amd",
...
"types": [
"angular"
]
}
Module.ts
export class Module {
register(module: ng.IModule) {
module
.component(SomeComponent, SomeComponent.componentOptions)
.customComponent("test") <-- this what it doesn't work
;
}
}
ModuleExtension.ts
export declare module ng {
interface IModule {
customComponent(testData: string): IModule;
}
}
ng
пространство имен является глобальным.
Я читаю документацию TS, и то, что я пытаюсь достичь, называется Объявление слияние . В C # это называлось методами расширения.