Max*_*kyi 10 angular2-forms angular
似乎我可以使用registerOnChange或valueChanges方法监听控件的更改.我很困惑何时使用什么.valueChanges返回可观察的,因此使用它是有意义的,因为它提供了许多方便的方法.什么时候用registerOnChange呢?
这registerOnChange是专门为FormControl.有一个源链接:
export class FormControl extends AbstractControl {
...
/**
* Register a listener for change events.
*/
registerOnChange(fn: Function): void { this._onChange.push(fn); }
Run Code Online (Sandbox Code Playgroud)
它允许传递许多侦听器,但它似乎并不打算作为标准方式(对于所有控件),使用标准观察者(无法如何处置该侦听器)
还有就是在链接valueChanges的AbsractControl
export abstract class AbstractControl {
...
/**
* Emits an event every time the value of the control changes, in
* the UI or programmatically.
*/
get valueChanges(): Observable<any> { return this._valueChanges; }
Run Code Online (Sandbox Code Playgroud)
这意味着 - 按照标准的Observable模式,为所有人做好准备controls.这是一种首选方式
registerOnChange主要供内部使用(AFAIR 由CONTROL_VALUE_ACCESSOR并且只允许单个订阅者使用) - 因此绝对使用valueChanges。
| 归档时间: |
|
| 查看次数: |
8518 次 |
| 最近记录: |