angular - RegisterPage.html:57 错误类型错误:无法读取未定义的属性“有效”(离子 4)
问题描述
尝试访问注册页面时出现此错误...登录页面时产生错误我尝试访问页面进行注册错误:
RegisterPage.html:57 ERROR TypeError: Cannot read property 'valid' of undefined
我的 register.component.html
<form [formGroup]="registerForm" (submit)="register()">
<ion-col>
<ion-item class="boder-input">
<ion-label position="floating">
<ion-icon name="contact"></ion-icon> Nome
</ion-label>
<ion-input type="text" formControlName="name"></ion-input>
</ion-item>
</ion-col>
<ion-col>
<ion-item class="boder-input">
<ion-label position="floating">
<ion-icon name="mail"></ion-icon> Email
</ion-label>
<ion-input type="email" formControlName="email"></ion-input>
</ion-item>
</ion-col>
<ion-col>
<ion-item class="boder-input">
<ion-label position="floating">
<ion-icon name="logo-github"></ion-icon> Git
</ion-label>
<ion-input type="text" formControlName="git"></ion-input>
</ion-item>
</ion-col>
<ion-col>
<ion-item class="boder-input">
<ion-label position="floating">
<ion-icon name="key"></ion-icon> Senha
</ion-label>
<ion-input type="password" formControlName="password"></ion-input>
</ion-item>
</ion-col>
<ion-col>
<ion-item class="boder-input">
<ion-label position="floating">
<ion-icon name="key"></ion-icon> Confirmar senha
</ion-label>
<ion-input type="password" formControlName="pass"></ion-input>
</ion-item>
</ion-col>
<ion-col>
<ion-button type="submit" color="primary" [disabled]="!form.valid" expand="block">Cadastrar</ion-button>
</ion-col>
</form>
我的 register.component.ts
import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { AuthService } from '../services/auth.service';
import { Router } from '@angular/router';
import { resolve } from 'url';
@Component({
selector: 'app-register',
templateUrl: './register.page.html',
styleUrls: ['./register.page.scss'],
})
export class RegisterPage implements OnInit {
registerForm: FormGroup;
constructor(private formBuild: FormBuilder, private authService: AuthService, private router: Router) { }
ngOnInit() {
this.registerForm = this.formBuild.group({
email: [' ', [Validators.required, Validators.email]],
password: [' ', Validators.required],
pass: [' ', Validators.required],
name: [' ', Validators.required],
git: [' ', Validators.required],
});
}
register() {
const nome = this.registerForm.get('name').value;
const email = this.registerForm.get('email').value;
const password = this.registerForm.get('password').value;
const confPass = this.registerForm.get('pass').value;
const git = this.registerForm.get('git').value;
const gitData = this.getDev(git);
gitData.then(dados => {
this.authService.register(nome, email, password, confPass, git,
dados.html_url, dados.avatar_url, dados.followers, dados.following).subscribe(
(data: any) => {
return this.router.navigate(['']);
},
erro => {
this.handleError(erro);
}
);
});
}
async getDev(git: string) {
const url = 'https://api.github.com/users/' + git;
const resp = await fetch(url);
const json = await resp.json();
return json;
}
handleError(erro) {
}
}
我的 register.module.ts
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { ReactiveFormsModule } from '@angular/forms';
import { Routes, RouterModule } from '@angular/router';
import { IonicModule } from '@ionic/angular';
import { RegisterPage } from './register.page';
const routes: Routes = [
{
path: '',
component: RegisterPage
}
];
@NgModule({
imports: [
CommonModule,
IonicModule,
ReactiveFormsModule,
RouterModule.forChild(routes)
],
declarations: [RegisterPage]
})
export class RegisterPageModule {}
在我看来,无法读取 html 的 formsControll。有没有人经历过同样的情况?有谁知道如何解决这个问题?
解决方案
更改form
为registerForm
<ion-button type="submit" color="primary" [disabled]="!registerForm.valid" expand="block">Cadastrar</ion-button>
推荐阅读
- amazon-web-services - AWS PinPoint - 来自邮递员的短信
- web - 从搅拌机导出的 USDZ 模型损坏
- c++ - 试图编译一个 cpp 文件,但命令提示符说找不到文件
- python - Dash 回调“解析时出现意外的 EOF”错误
- python - 如何在python3中拆分一个单词字符串?
- bash - 即使我添加了 --jobs 并且 --max-load 甚至没有关闭,为什么 GNU Make 会按顺序运行?
- javascript - “input=text”字段中的引导过滤值
- javascript - 延长
根据里面的组件 - javascript - JavaScript 中的词法环境 vs 作用域 vs 执行上下文
- django - PasswordResetConfirmView 的自定义模板