4
我開發了一個自定義指令,修剪輸入控件的值。 請找到相同的代碼:在Angular2 ngModel值沒有更新onBlur事件的自定義指令
import { Directive, HostListener, Provider } from '@angular/core';
import { NgModel } from '@angular/forms';
@Directive({
selector: '[ngModel][trim]',
providers: [NgModel],
host: {
'(ngModelChange)': 'onInputChange($event)',
'(blur)': 'onBlur($event)'
}
})
export class TrimValueAccessor {
onChange = (_) => { };
private el: any;
private newValue: any;
constructor(private model: NgModel) {
this.el = model;
}
onInputChange(event) {
this.newValue = event;
console.log(this.newValue);
}
onBlur(event) {
this.model.valueAccessor.writeValue(this.newValue.trim());
}
}
問題是ngModel不onBlur事件更新的價值。 我試圖在onModelChange事件修剪值,但它不允許兩個詞之間的空間(例如,ABC XYZ)
任何建議將是有益的。
你能想出一個暴徒作爲有人試圖測試它嗎? – micronyks