У меня есть 2 угловых компонента.
ButtonComponent
, который имеет тип ввода ButtonText
@Component({
selector: 'app-button',
template: '<h1></h1>',
})
export class ButtonComponent {
@Input() text: ButtonText;
}
export class ButtonText {
constructor(private text: string) {
}
}
и MainComponent
, который использует кнопку и передает ей ввод:
@Component({
selector: 'app-root',
template: '<app-button [text]="title"></app-button>',
})
export class AppComponent {
title = 'compiler-playground';
test: ButtonText = new ButtonText('text');
}
Проблема- если я передаю параметр с неправильным типом для ввода.ng build
не возвращает никаких ошибок или предупреждений.Я перепробовал множество возможных флагов углового компилятора, описанных [в angular docs]: (https://github.com/angular/angular/blob/master/aio/content/guide/aot-compiler.md#compiler-options)
"angularCompilerOptions": {
"strictMetadataEmit": true,
"fullTemplateTypeCheck": true,
"strictInjectionParameters": true,
"skipTemplateCodegen": false,
"trace": true,
"debug": true
}
Вопрос: как мне выполнить статическую проверку типов во время компиляции? Или, может быть, есть какие-либо инструменты статического анализачто может добиться такого, как шаблонные линтеры?