javascript - 访问表单 ElementRef 的 "form"属性显示 TypeScript 错误

标签 javascript angular typescript

我的模板中有此表单:

<form #heroForm="ngForm" (ngSubmit)="onSubmit()">

我将其添加为 Controller 中的 ViewChild:

@ViewChild('heroForm') heroForm: ElementRef;

当我访问它的“form”属性以查看它是否有效时,它显示 TypeScript 错误““ElementRef”类型上不存在属性“form”。 ”。

if(this.heroForm.form.valid){
  this.submitted = true;
}

如何消除这个错误?

Stackblitz 示例:https://stackblitz.com/edit/template-driven-form-demo-1tbb37?file=app%2Fuser-form%2Fuser-form.component.ts

最佳答案

只需导入 ngForm 指令

import {NgForm} from '@angular/forms';

更改您的表单声明

@ViewChild('heroForm', { read: NgForm }) heroForm: any;

更改表单验证条件

if(this.heroForm.valid){
    this.submitted = true;
}

关于javascript - 访问表单 ElementRef 的 "form"属性显示 TypeScript 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55293398/

相关文章:

javascript - stripe checkout.session 返回的 data.payment_intent 为空

javascript - 如何在 Angular 中为 app.modules.ts 加载环境数据

angular - 开放层 5 | Angular 7 |棱 Angular Material | map 在 Angular Material 垫步进器内不起作用

javascript - 仅将第一个返回值打印到 Angular2 App 中的 View

typescript - 不可分配给编辑器中类型为 'Expected<Promise<string>>' 的参数

javascript - 有没有办法在 Javascript 中进行下一次迭代之前等待计算

javascript - 有没有办法检测 IE1 0's "Caps Lock is on”功能?

angular - 如何在 Angular 10 中急切加载 ionic 模态

javascript - typescript :可能导致此错误的原因是什么? "Element implicitly has an ' 任何类型,因为类型 'Object' 没有索引签名”

json - Nativescript中如何显示Json数据