use*_*723 40 angular2-forms angular2-formbuilder angular
我在Plunkr上有一个Angular 2 RC4基本表单示例,似乎抛出以下错误(在Chrome DEV控制台中)
这是傻瓜
https://plnkr.co/edit/GtPDxw?p=preview
错误:
browser_adapter.ts:82 EXCEPTION: Error: Uncaught (in promise): EXCEPTION: Error in ./App class App - inline template:1:7
ORIGINAL EXCEPTION: formGroup expects a FormGroup instance. Please pass one in.
Example: <form [formGroup]="myFormGroup">
ORIGINAL STACKTRACE:
Error: formGroup expects a FormGroup instance. Please pass one in.
Example: <form [formGroup]="myFormGroup">
at new BaseException (https://npmcdn.com/@angular/forms@0.2.0/src/facade/exceptions.js:27:23)
at FormGroupDirective._checkFormPresent (https://npmcdn.com/@angular/forms@0.2.0/src/directives/reactive_directives/form_group_directive.js:110:19)
at FormGroupDirective.ngOnChanges (https://npmcdn.com/@angular/forms@0.2.0/src/directives/reactive_directives/form_group_directive.js:39:14)
at DebugAppView._View_App0.detectChangesInter
Run Code Online (Sandbox Code Playgroud)
Gün*_*uer 59
您的代码中存在一些问题
<div [formGroup]="form">在<form>标签之外<form [formGroup]="form">但包含了属性的名称FormGroup是loginForm因此它应该是<form [formGroup]="loginForm">[formControlName]="dob"它传递了dob不存在的属性的值.你需要的是通过串dob状[formControlName]="'dob'"或简单formControlName="dob"Sha*_*ari 35
我遇到了这个问题并通过检查表单属性来解决。当 FormGroup 未初始化时,可能会发生此问题。
<form [formGroup]="loginForm" *ngIf="loginForm">
OR
<form [formGroup]="loginForm" *ngIf="this.loginForm">
Run Code Online (Sandbox Code Playgroud)
在初始化之前,这不会呈现表单。
我正在使用反应式形式并遇到类似的问题。帮助我的是确保我FormGroup在课堂上设置了相应的。像这样的东西:
myFormGroup: FormGroup = this.builder.group({
dob: ['', Validators.required]
});
Run Code Online (Sandbox Code Playgroud)
小智 5
我遇到了同样的错误,我解决了从中删除异步等待模式的问题:
原始代码
async ngOnInit()
{
this.id = await this.route.snapshot.paramMap.get('id');
Run Code Online (Sandbox Code Playgroud)
工作代码
ngOnInit()
{
this.id = this.route.snapshot.paramMap.get('id');
Run Code Online (Sandbox Code Playgroud)
我认为可能与上面@johannesMatevosyan 的回答有关。我真的不知道为什么,但它正在为我工作。
| 归档时间: |
|
| 查看次数: |
96492 次 |
| 最近记录: |