我希望能够在其他地方重用我的表单的一部分,所以我想将它分成它自己的组件。我仍然想通过父组件提交表单 - 子组件中没有按钮或任何内容。如果可以的话,我也不想使用 FormGroup。这可能吗?
这就是我正在努力做的事情:
<parent>
<form #f="ngForm" (ngSubmit)="onSubmit(f)" id="f">
<child></child>
<input type="checkbox" id="terms" #terms="ngModel" ngModel name="terms">
<input type="submit" id="btnSubmit">
</form>
</parent>
理想情况下,孩子会返回一个带有表单信息的对象,如下所示(如果这是不可能的,但可以做其他事情也可以):
@Component({
selector: 'child',
...
})
export class ChildComponent implements OnInit {
...
createObject(form:NgForm) {
let user = new userProfile();
user.email = form.controls["email"].value;
user.username = form.controls["username"].value;
...
return user;
}
}
在父级中使用@ViewChild来调用子级中提取表单数据的方法。