错误 - 无法绑定到“formGroup”,因为它不是“form”的已知属性。
错误 - 无法绑定到“formGroup”,因为它不是“form”的已知属性。
该问题已有答案:
我想在 Ionic 页面上制作一个表单,但是我遇到了这个错误。
我一直在搜索这个问题,最受欢迎的解决方案是导入 ReactiveFormsModule,但是正如您所看到的,它已经被正确导入。问题可能是什么?
这个表单位于一个页面 (editpage) 中,它作为一个模态框从 tab2 页面启动。
控制器 (editpage.page.ts):
import { Component, OnInit, Input } from '@angular/core'; import { NavParams, ModalController } from '@ionic/angular'; import { FormGroup, FormBuilder, Validators } from '@angular/forms'; import { ReactiveFormsModule, FormsModule } from '@angular/forms'; @Component({ selector: 'app-editpage', templateUrl: './editpage.page.html', styleUrls: ['./editpage.page.scss'], }) export class EditpagePage implements OnInit { public todoForm: FormGroup; constructor(private formBuilder: FormBuilder, navParams: NavParams, public modalController: ModalController) { } ngOnInit() { this.todoForm = this.formBuilder.group({ title: ['', Validators.required], description: [''] }); } public addNote(){ } }
HTML 表单:
Editpage.module.ts
import { Component, Input, NgModule } from '@angular/core'; import { NavParams, IonicModule } from '@ionic/angular'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { EditpagePage } from './editpage.page'; import { CommonModule } from '@angular/common'; @NgModule({ imports: [ IonicModule, CommonModule, FormsModule, ReactiveFormsModule ], declarations: [EditpagePage] }) @Component({ selector: 'modal-page', }) export class EditpagePageModule { constructor(){} }
app.module.ts
import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { RouteReuseStrategy } from '@angular/router'; import { IonicModule, IonicRouteStrategy } from '@ionic/angular'; import { SplashScreen } from '@ionic-native/splash-screen/ngx'; import { StatusBar } from '@ionic-native/status-bar/ngx'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; import { AngularFireModule } from 'angularfire2'; import { environment } from 'src/environments/environment'; import { AngularFirestoreModule } from 'angularfire2/firestore'; import { ReactiveFormsModule, FormsModule } from '@angular/forms'; @NgModule({ declarations: [AppComponent], entryComponents: [], imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule, AngularFireModule.initializeApp(environment.firebaseConfig), AngularFirestoreModule, FormsModule, ReactiveFormsModule], providers: [ StatusBar, SplashScreen, { provide: RouteReuseStrategy, useClass: IonicRouteStrategy }, Flashlight, Geolocation ], bootstrap: [AppComponent] }) export class AppModule { }
admin 更改状态以发布 2023年5月21日
- 从组件中移除导入的部分:
// REMOVE THIS: import { ReactiveFormsModule, FormsModule } from '@angular/forms'; @Component({ selector: 'app-editpage', templateUrl: './editpage.page.html', styleUrls: ['./editpage.page.scss'], }) export class EditpagePage implements OnInit { ... }
- 从
Editpage.module.ts
中移除 @Component 装饰器
@NgModule({ ... }) // REMOVE THIS: @Component({ selector: 'modal-page', }) export class EditpagePageModule { constructor(){}
-
从
app.module.ts
中移除FormsModule, ReactiveFormsModule
的导入部分 -
在
app.module.ts
中导入EditpagePageModule
这里是一个最小化的 StackBlitz 示例:https://stackblitz.com/edit/angular-u2g3wn
你的示例中有很多问题,如果你按照以上步骤仍不能解决问题,我建议你发布一个 StackBlitz 示例。