Angular2 - 以另一种形式实现的形式 - 如何获取值
Angular2 - Form implemented in another form - How to get values
我有2个表格。一种父表和一种子表。它看起来像这样:
<form [formGroup]="form" (submit)="makeSomething()">
<input type="text" formControlName="test" />
<some-form-component></some-form-component>
<input type="submit" />
</form>
对于some-form-component
,我使用这样的文件:
<form [formGroup]="form">
<input type="text" formControlName="somechildfield" />
</form>
我的父表单组件如下所示:
import {Component, OnInit} from "@angular/core";
import {FormBuilder} from "@angular/forms";
@Component({
selector: 'my-parent-form',
templateUrl: 'my-parent.form.html'
})
export class ParentFormComponent implements OnInit {
private form: any;
constructor(private builder: FormBuilder) {}
ngOnInit(): void {
this.form = this.builder.group({
'test': [''],
});
}
makeSomething() {
console.log( this.form.value );
}
}
SomeFormComponent 看起来很相似只是没有 makeSomething
方法
我的问题是:当我在 makeSomething()
方法中获取值时如何?
谢谢!
在 parent 中,您必须为 child 组件提供 formControlName 并在 formBuilder 中包含 child 组件。
<my-child formControlName="account"></my-child>
在 child 中,您实现了 ControlValueAccessor 接口。
例如,尝试 this plunker
我有2个表格。一种父表和一种子表。它看起来像这样:
<form [formGroup]="form" (submit)="makeSomething()">
<input type="text" formControlName="test" />
<some-form-component></some-form-component>
<input type="submit" />
</form>
对于some-form-component
,我使用这样的文件:
<form [formGroup]="form">
<input type="text" formControlName="somechildfield" />
</form>
我的父表单组件如下所示:
import {Component, OnInit} from "@angular/core";
import {FormBuilder} from "@angular/forms";
@Component({
selector: 'my-parent-form',
templateUrl: 'my-parent.form.html'
})
export class ParentFormComponent implements OnInit {
private form: any;
constructor(private builder: FormBuilder) {}
ngOnInit(): void {
this.form = this.builder.group({
'test': [''],
});
}
makeSomething() {
console.log( this.form.value );
}
}
SomeFormComponent 看起来很相似只是没有 makeSomething
方法
我的问题是:当我在 makeSomething()
方法中获取值时如何?
谢谢!
在 parent 中,您必须为 child 组件提供 formControlName 并在 formBuilder 中包含 child 组件。
<my-child formControlName="account"></my-child>
在 child 中,您实现了 ControlValueAccessor 接口。
例如,尝试 this plunker