我有輸入組件:雙向數據組件之間的對象綁定
<my-input *ngIf='filter.type === checkType.INPUT_TEXT' [filter]='filter'></my-input>
export class MyInputComponent{
@Input() filter: any;
}
MyInputComponent
的<input name="name" [(ngModel)]="filter.input">
欲內部設置過濾器的輸入和對外部部件對象影響模板。
如何將濾鏡對象傳入MyInputComponent
實現2路數據綁定?
我想實現像[(ngModel)] =「filter.value」,但組件之間的工作
其他職位在這裏大約2路數據綁定一點兒也不回答我的問題。
編輯:
在我MyInputComponent使用extends DefaultValueAccessor
我父母分量輸入在前看不見沒有任何錯誤後。
import { Component, Input, OnInit, Provider, forwardRef } from '@angular/core';
import { FORM_DIRECTIVES, NG_VALUE_ACCESSOR, DefaultValueAccessor } from '@angular/common';
@Component({
moduleId: module.id,
selector: 'my-input',
directives: [FORM_DIRECTIVES],
host: { '(keyup)': 'doOnChange($event.target)' },
templateUrl: '<input name="name" [(ngModel)]="filter.input">'
})
export class MyInputComponent extends DefaultValueAccessor {
@Input() filter: any;
onChange = (_) => {};
onTouched =() => {};
writeValue(filter:any):void {
if (filter !== null) {
super.writeValue(filter.toString());
}
}
doOnChange(filter) {
this.onChange(filter);
}
}
const MY_VALUE_ACCESSOR = new Provider(
NG_VALUE_ACCESSOR, {useExisting: forwardRef(() => MyInputComponent), multi: true});
請參閱http://stackoverflow.com/q/38097777/652850 –
從鏈接寫入一些內容,然後通過鏈接支持。鏈接通常變得無效,你的答案變得毫無用處。 –