关于angular:隔离期间的爱情angular下自定义组件适用form的方法

6次阅读

共计 663 个字符,预计需要花费 2 分钟才能阅读完成。

实现细节 https://segmentfault.com/a/11… 写的很分明了,十分具体然而我不太能看得懂,轻易写写,说不定写着写着就懂了
根本的原理就是

  1. 实现一个组件,这个组件承受 angular 的 ngmodel 的模版驱动表单语法或者 reactive form 响应式表单的语法。
  2. 承受 angular form 的语法的原理就是自定义的组件要实现 AbstractControl 接口。
  3. 首先明确 ngmodel 到底是做了什么事,太具体的我讲不进去事太多了,我了解就是两个,ngmodel 是一个语法糖。[(ngModel)]=”value” 的意思等于
<component-name [value]="value" (ngModelChange)="value = $event"></component-name>
  1. 而后在你的 component 中监听 value,和你扭转了数据 value 之后触发 ngModelChange.emit(this.value) 事件告诉给父组件之类的。然而他这里提供的 api 其实是 writeValue(value){}函数,承受的参数是里面传入的 value,每次 value 批改时会触发 writeValue 函数。而后`
    registerOnChange(fn: any) {
    this.propagateChange = fn;
    }

中的 fn 参数其实就是 ngModelChange.emit(this.value)。

写到这里我就更纳闷了,那为什么 angular 要设计这么简单的 API 呢,是为了解决什么场景吗?无奈了解呀,好难哦,又是一篇中文垃圾

正文完
 0