У меня есть рабочее приложение Angular (+ Angular Material) 9.1.0. Я попытался добавить дополнительную проверку типов в tsconfig. json для моего проекта:
"angularCompilerOptions": {
"strictTemplates": true,
"fullTemplateTypeCheck": true
},
И у меня была ошибка в этом элементе шаблона во время сборки:
<textarea matInput placeholder="{{ 'test.description' | translate}}" matAutosizeMinRows="3" matTextareaAutosize formControlName="description"></textarea>
Сообщение об ошибке является правильным:
error TS2326: Types of property 'matAutosizeMinRows' are incompatible.
Type 'string' is not assignable to type 'number'.
Поскольку matAutosizeMinRows объявлен как число:
export declare class MatTextareaAutosize extends CdkTextareaAutosize {
get matAutosizeMinRows(): number;
Однако, если заменить «3» на 3 в шаблоне, ошибка все равно останется.
Единственный способ исправить это - заключить свойство в квадратные скобки:
<textarea matInput placeholder="{{ 'test.description' | translate}}" [matAutosizeMinRows]="3" matTextareaAutosize formControlName="description"></textarea>
Это правильное поведение?