Angular/IONIC 表单组未应用于模板输入

Angular/IONIC Formgroup does not get applied to template inputs

我用 Angular 创建了一个 Ionic 项目,并制作了一个带有电子邮件和密码的小型登录表单。因此我使用 Angular 的 FormGroup 和 Formbuilder 作为 Ionic 的官方文档描述它:https://ionicframework.com/docs/v3/developer-resources/forms/

我给电子邮件输入一个默认值以查看它是否正常工作,并且只要表单无效(验证器都需要这两个字段),登录按钮就会被禁用。 但是输入与我的表单状态不匹配,状态始终保持与初始化时相同,并且表单永远不会生效。

控制台中 formGroup 值的输出(当然是在写入输入字段后创建的):

希望这里有人有想法,它可能是什么。谢谢。

我的代码:

export class LoginComponent {
  private loginForm: FormGroup;

  constructor(
    private authService: AuthService,
    private formBuilder: FormBuilder
  ) {
    this.loginForm = this.formBuilder.group({
      mail: ['buildermail@form.com', Validators.required],
      pass: ['', Validators.required],
    });
  }

  login() {
    console.log(this.loginForm.value); // Output: 'buildermail@form.com', null -> doesn't matter what's in the actual inputs
  }
}
<ion-card-content class="content__card-content">
  <form [formGroup]="loginForm" (ngSubmit)="login()">
    <ion-item class="content__card-content__username">
      <ion-label position="floating">E-Mail</ion-label>
      <ion-input
        formControlName="mail"
        type="email"
        [required]="true"
      ></ion-input>
    </ion-item>
    <ion-item class="content__card-content__password">
      <ion-label position="floating">Password</ion-label>
      <ion-input
        formControlName="pass"
        type="password"
        [required]="true"
      ></ion-input>
    </ion-item>
    <ion-button type="submit" [disabled]="!loginForm.valid">Login</ion-button>
  </form>
</ion-card-content>

将 html 文件中的 formControlName="password" 更改为 formControlName="pass"

还有 public

私有的“loginForm”

已解决:未正确提供表单组,因此未应用。我需要在声明组件的模块中导入 'ReactiveFormsModule' 和 'FormsModule'。然后我还需要将这个模块导入我的 app.module.ts - Ionic 在这里没有通过编译显示错误,通过使用 angular 本身编译,它抛出了一个错误,它没有正确提供。