我有一个非常简单的指令,它应该更新模糊的输入值。
模糊处理程序正在调用,但我无法设置输入值。
import {NgModel} from 'ng-metadata/common';
import {Directive, Inject, Self, HostListener} from 'ng-metadata/core';
@Directive({
selector: 'foo'
})
export class FooDirective {
constructor(
private @Self() ngModel: NgModel,
private @Inject('$element') $element: ng.IAugmentedJQuery
) {}
@HostListener('blur')
onBlur() {
this.ngModel.$viewValue = "FOO";
this.ngModel.$modelValue = "FOO";
this.ngModel.$setViewValue("FOO");
this.ngModel.$commitViewValue();
// I guess, I just need one of these, but none did work
}
}
HTML代码:
<input type="text" foo ng-model="$ctrl.abc"></input>
我可以使用console.log(this.ngModel.$modelValue)
读取当前值,但我无法设置新值。
我错过了什么?
答案 0 :(得分:1)
知道了!
这很简单:
this.ngModel.$setViewValue("FOO");
this.ngModel.$render();