'form'의 알려진 속성이 아니기 때문에 'formGroup'에 바인딩 할 수 없습니다.'formGroup'에 바인딩 할 수 없습니다.
왜이 오류 메시지가 나타 납니까?
실례로 내 plunk을 참조하십시오.
파일 app.module.ts :
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { ReactiveFormsModule } from '@angular/forms';
import { AppComponent } from './app.component';
import { CustomInputComponent } from './custom-input.component';
@NgModule({
imports: [
BrowserModule, ReactiveFormsModule
],
declarations: [
AppComponent, CustomInputComponent
],
providers: [
],
bootstrap: [ AppComponent ]
})
export class AppModule { }
파일 main.ts :
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app.module';
platformBrowserDynamic().bootstrapModule(AppModule);
파일 app.component.ts :
import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, Validators, AbstractControl } from '@angular/forms';
@Component({
moduleId: module.id,
selector: 'my-app',
template: `
<h2>Testing Angular 2: custom form input</h2>
<form [formGroup]="form" (ngSubmit)="submit()">
<custom-input [name]="city" [formControl]="city"></custom-input>
</form>
`
})
export class AppComponent implements OnInit {
private form: FormGroup;
private city: AbstractControl;
constructor(private fb: FormBuilder) {}
ngOnInit() {
this.form = this.fb.group({
'city': 'London'
});
this.city = this.form.controls['city'];
}
submit() {
let formValues = this.form.value;
console.log('submit',JSON.stringify(formValues));
}
}
파일 맞춤 input.compontent .ts :
import { Component } from '@angular/core';
import { AbstractControl } from '@angular/forms';
@Component({
moduleId: module.id,
selector: 'custom-input',
template: '<input [name]="name" [id]="name" [formControl]="formControl" type="text">'
})
export class CustomInputComponent {
@Input() name: string;
@Input() formControl: AbstractControl;
constructor() {}
}
* "아니 AppModule을 구현하지하는 점이다 베어를 만들기 뼈대, 기본 AppModule "*, 당신의 모듈이 사용되지 않는 것 같습니다. – jonrsharpe
main.ts 파일을 plunk에서 질문에 복사했습니다. 모듈이 거기서 사용되므로 문제가되지 않습니다. 맞습니까? 아니면 내가 잘못 이해 한 것일까 요? – EricC
Plunkr에서 콘솔에있는 것을 의미합니다. – jonrsharpe