错误 - 无法绑定到“formGroup”,因为它不是“form”的已知属性。

19 浏览
0 Comments

错误 - 无法绑定到“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 表单:

TODO DESCRIPCION Agregar

 

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日
0
0 Comments
  1. 从组件中移除导入的部分:

// 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 {
  ...
}

  1. Editpage.module.ts 中移除 @Component 装饰器

@NgModule({
  ...
})
// REMOVE THIS:
@Component({
  selector: 'modal-page',
})
export class EditpagePageModule {
  constructor(){}

  1. app.module.ts 中移除 FormsModule, ReactiveFormsModule 的导入部分

  2. app.module.ts 中导入 EditpagePageModule

这里是一个最小化的 StackBlitz 示例:https://stackblitz.com/edit/angular-u2g3wn

你的示例中有很多问题,如果你按照以上步骤仍不能解决问题,我建议你发布一个 StackBlitz 示例。

0