推荐文章
Maxim Koretskyi :
Never again be confused when implementing ControlValueAccessor in Angular forms
推荐理由
在大型复杂的管理后台项目中,很有可能你会遇到需要自定义表单控件(Custom form control)。很多文章都介绍了此时应该定义ControlValueAccessor
,也展示了如何实现,但并没有说出为什么,这个类在Angular的表单架构中起了什么作用。该文章就解决了为什么的问题,让你从原理理解自定义表单控件。
文章概要
首先,只要你创建表单,Angular就会创建对应FormControl
,无论是模板驱动表单还是响应式表单。模板驱动表单的FormControl
是由NgModel
指令隐性创建,而响应式表单是由你自己创建,通过FormControlName
指令将Angular表单元素和原生表单元素进行绑定。