javascript - 反应形式Angular的错误,属性'X'没有初始化器,并且没有在构造函数中明确分配
问题描述
我正在尝试为我想在我的项目中实现的一个小表单制作一个反应式表单,但不知道为什么 Angular 会抛出这个错误:
属性 'formulario' 没有初始化程序,也没有在构造函数中明确分配。
这是我的代码:
组件文件:
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { FormGroup, FormBuilder } from '@angular/forms';
@Component({
selector: 'app-contact',
templateUrl: './contact.component.html',
styleUrls: ['./contact.component.css']
})
export class ContactComponent implements OnInit {
public formulario: FormGroup;
constructor(private router: Router, private fb: FormBuilder) {
this.createForm();
}
ngOnInit(): void {
}
createForm(){
this.formulario = this.fb.group({
nombre: ['', []],
email: ['', []],
mensaje: ['', []],
})
}
sendMail(){
let string = 'mailto:';
}
}
App.module 文件:
// Modules
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppRoutingModule } from './app-routing.module';
import { PagesModule } from './pages/pages.module';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
// Components
import { AppComponent } from './app.component';
import { NavbarComponent } from './shared/navbar/navbar.component';
import { MediaComponent } from './shared/media/media.component';
@NgModule({
declarations: [AppComponent, NavbarComponent, MediaComponent],
imports: [
BrowserModule,
AppRoutingModule,
PagesModule,
FormsModule,
ReactiveFormsModule
],
providers: [],
bootstrap: [AppComponent],
})
export class AppModule {}
在 Pages 模块中也实现了这个代码行:
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
如果有人可以帮助我找到错误,我将非常感激!
解决方案
该错误表明您的属性没有初始化程序...简单的解决方案是重构您的代码
export class ContactComponent implements OnInit {
formulario = this.fb.group({
nombre: ['', []],
email: ['', []],
mensaje: ['', []],
})
constructor(private router: Router, private fb: FormBuilder) {
}
ngOnInit(): void {
}
sendMail(){
let string = 'mailto:';
}
}
我喜欢这种方法,因为代码变得易于遵循、测试和维护
推荐阅读
- python - 使用 MDDropdownMenu 时更改按钮文本的问题
- r - 如何在 mutate_if 中应用 ifelse 语句
- elasticsearch - 是否可以使用 asciifolding 进行术语查询?
- python - RandomUnderSampler' 对象没有属性 'fit_resample'
- python - 如何使用 seaborn 或 matplotlib 库准备 2 行 5 列网格以在一个图中绘制 10 个箱线图?
- reactjs - 关于从 switch 函数中的表单获取数据的问题
- javascript - 根据滚动速度,来自 scrollTop() 的值不精确
- c# - 按下鼠标1时播放声音,未按下时停止声音
- java - 检查扩展 jTextFormattedField 是否为空
- c# - 简化扩展方法(组合)?