模板驱动型表单:所有逻辑都在html中,包括数据校验逻辑和变量定义都在html中。
动态表单:表单几乎全部是用代码创建的。
模板驱动表单:
#form="ngForm"
#password="ngModel"
响应式表单:
formBuilder
动态表单:
html仅仅充当容器的作用,大部分逻辑都在class里。
有些业务表单根据用户权限的不同,根据用户角色的不同,能够让用户输入不同的内容。
数据校验:
自定义校验规则:
模板驱动表单例子
<form #f=ngForm (ngSubmit)="onSubmit(f,$event)"> <div mat-dialog-content> <mat-form-field class="full-width"> <input [(ngModel)]="desc" required type="text" matInput placeholder="在这里快速简历一个任务" style="text-align: right" name="desc"> <button matSuffix mat-icon-button type="submit"> <mat-icon>send</mat-icon> </button> <mat-error>不能为空</mat-error> </mat-form-field> </div> </form> <div> 表单数据:{{f.value | json}} </div> <div> 表单验证状态:{{ f.valid | json }} </div>
onSubmit(f: NgForm, event: Event) { console.log(f) console.log(JSON.stringify(f.value)); console.log(JSON.stringify(f.valid)) }
2020-06-02
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。