您好,我试图了解如何在Typescript
中创建可重复使用的表单。到目前为止,我了解的是您可以创建一个Form Component
并将其HTML
文件写入使用的位置model
fields
。您保持.ts
文件不变。
然后,您便需要了需要表单的组件,并将selector
嵌入到父component
的{{1}}文件中:
表单组件
HTML
所以现在我的理解是,如果您在@Component({
selector: 'app-user-form',
templateUrl: './user-form.component.html',
styleUrls: ['./user-form.component.sass']
})
export class UserFormComponent implements OnInit {
public Submit(empform:NgForm):void{ //can i make this abstract...or somehow make it available from the parent component to implement?
console.log(empform);
}
constructor() { }
ngOnInit() {
}
}
<form #userForm="ngForm" (ngSubmit)="Submit(userForm)">
<div class="form-group">
<label>Id</label>
<input id="id" [(ngModel)]="id" type="text" class="form-control" name="jid">
</div>
<button type="submit" class="btn btn-primary">Save</button>
<//form>
parent
内声明一个变量,且其字段的名称与表单中的形式相同,则表示您已成功绑定它们。
父组件
Component
我很好奇的是,如何使 export class CreateComponent implements OnInit {
public id:number; // this parent variable is bound to the field of the form
submit(empForm:NgForm):void{ //override or something depending on the parent
console.log(empForm);
}
}
<div id="childForm">
<app-user-form></app-user-form>
</div>
露出form
的{{1}},并由父母来实现?我想让method
变得愚蠢,让父母决定如何回应parent
。