2017-03-09 22 views
0

改变我component其中有像这样如何强制更新模板时,属性不角4

template: '<input type="text" value="{{formattedValue}}">',

模板时,一定坏输入进入内部FormattedValue的财产没有按不会改变,但我希望界面可以更新以显示最后的正确值。

例如,如果组件的this.formattedValue是1,000,并且用户更新输入以获得文本1,000x然后我希望输入再次为1,000。目前这不会发生。当然,我可以在函数中使用Dom api更新DOM,但我更愿意使用该模板。

回答

0
template: '<input type="text" [ngValue]="formattedValue" (ngValueChange)="checkValue($event)">', 


formattedValue:string = ''; 
constructor(private cdRef:ChangeDetectorRef) {} 

checkValue(event) { 
    if(event == /* invalid */) { 
    this.cdRef.detectChanges(); 
    } else { 
    this.formattedValue = event; 
    } 
}