У меня есть директива с именем 'ModalHost', подобная этой:
@Directive({
selector: '[ModalHost]',
exportAs: 'ModalHost'
})
export class ModalHost {
constructor(public viewContainerRef: ViewContainerRef, private componentFactoryResolver: ComponentFactoryResolver) { }
......
}
, и я использую ее в одном из своих компонентов в качестве свойства ввода, например:
@Input('modalHost') public modalHost: ModalHost;
Всеотлично работает, когда компилятор Typescript ориентирован на 'es5', но когда я изменяю его на 'es2015', он выдает ошибку, говорящую:
Uncaught referenceError: ModalHost is not defined at Module.ModalHost (my-component.component.ts)
Вот tsconfig.json для получения дополнительной информации:
{
"compileOnSave": true,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"noImplicitAny": false,
"target": "es2015",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2015",
"dom"
],
}
}