Angular 如果值等于零,将角度输入值设置为空?

Angular 如果值等于零,将角度输入值设置为空?,angular,Angular,如果输入值等于零(0),是否有一种简单的方法来设置空白/空值?我在这里遇到了AngularJS的问题,但是找不到Angular2+的任何东西 这只需要在加载页面时完成。我意识到我可以在组件中使用setter,但不知道是否有什么东西可以放在输入本身上 这可以通过指令完成吗?您可以使用模板变量 checkInputValue(input) { input.value = input.value == '0' ? '' : input.value; } 然后 <input #input (

如果输入值等于零(0),是否有一种简单的方法来设置空白/空值?我在这里遇到了AngularJS的问题,但是找不到Angular2+的任何东西

这只需要在加载页面时完成。我意识到我可以在组件中使用setter,但不知道是否有什么东西可以放在输入本身上


这可以通过指令完成吗?

您可以使用模板变量

checkInputValue(input) {
  input.value = input.value == '0' ? '' : input.value;
}
然后

<input #input (keyup)="checkInputValue(input)" />

如果希望在页面加载时完成,可以执行以下操作:

<input type="number" (ngModelChange)="data = $event === 0 ? '' : $event" [ngModel]="data" >


这将防止该值始终为0,无论何时。

我正在寻找可以在加载页面时执行的操作。我编辑了我的问题。谢谢。你的例子确实有效。您知道指令或属性是否可以直接放在
component.html
中的输入上,而不是在
component.ts
中包含逻辑,我还没有对此进行测试,但您可以尝试使用value-attribute指令
以下内容对我不起作用:
您不能在ngModel周围使用括号。确保遵循示例我删除了ngModel周围的括号,但仍然设置了零值:
您没有遵循示例。看,我明白了。如果我手动键入0,则页面加载后您的示例对我有效。但是,它在页面加载时似乎不起作用:
<input type="number" (ngModelChange)="data = $event === 0 ? '' : $event" [ngModel]="data" >