输入的属性指令,如何订阅valueChange

时间:2017-01-11 09:06:02

标签: angular angular2-forms

我使用 FormReactiveModule 使用 FormBuilder ,我创建了我的表格,如:

this.form = this.fb.group({
      street: [null],
      ...
    });

我的模板是:

<form [formGroup]="form">
    <input formControlName="street" myAttributeDirective/>
</form>

如果我在输入中添加属性指令(此处为myAttributeDirective),我如何订阅他的输入值更改,如我所做的那样:this.form.controls.street.valueChanges.subscribe(...)

1 个答案:

答案 0 :(得分:2)

  

您可以使指令具有输入

@Input() set control(control) {
    if(!control || !control.valueChanges) {
       return;
    }
    control.valueChanges.subscribe(...)
} 
  

你会得到像这样的HTML

<form [formGroup]="form">
    <input formControlName="street" myAttributeDirective [control]="form?.controls?.street"/>
</form>