如果值等于零(0),是否有一种简单的方法可以将输入值设置为空/空?我在这里遇到了这个AngularJS问题Hide Value in input when it's zero in angular Js,但是找不到Angular 2 +的任何内容。
只需要在加载页面时完成。我意识到我可以在组件中使用setter,但想知道是否有东西可以放在输入本身。
这可以用指令完成吗?
答案 0 :(得分:0)
您可以使用模板变量。
checkInputValue(input) {
input.value = input.value == '0' ? '' : input.value;
}
然后
<input #input (keyup)="checkInputValue(input)" />
编辑forload:
import { ViewChild, ElementRef, AfterViewInit } from '@angular/core'
// ...
export class Component implements AfterViewInit {
@ViewChild('input') input: ElementRef
ngAfterViewInit() {
let inputValue = this.input.nativeElement.value;
inputValue = inputValue == '0' ? '' : inputValue;
}
}
答案 1 :(得分:0)
如果你想在页面加载时完成它,你可以这样做:
<input type="number" (ngModelChange)="data = $event === 0 ? '' : $event" [ngModel]="data" >
这将阻止值永远为0,无论何时。