【问题标题】:Angular2 rc4 ngModelChange onchange instead of keypressAngular2 rc4 ngModelChange onchange 而不是按键
【发布时间】:2016-07-15 06:55:24
【问题描述】:

我确信这是可能的,但我没有在文档中看到它。

我希望 something() 在输入的 onchange 事件时在下面触发, 不是每次按下一个键。就像默认情况下淘汰赛是如何做到的一样。

<input [ngModel]="whatever" (ngModelChange)="something($event)">

我知道我可以消除击键的抖动,但我希望能避免这种情况。 谢谢!

【问题讨论】:

  • 我最终制作了一个使用 (change) 和 (blur) 的输入组件,然后将模型版本与初始版本进行比较,如果有差异则触发 eventemitter……它必须考虑(change) 和 (blur) 经常背靠背触发,所以这是一个很好的解决方法。

标签: angular


【解决方案1】:

我建议使用本地模板变量来传递新值:

<input #input [ngModel]="whatever" (change)="something(input.value)">
<br>{{whatever}}

然后在事件处理程序中更新模型(如果合适):

something(newValue) {
  console.log(newValue);
  this.whatever = newValue;  // maybe conditionally update this
}

【讨论】:

  • 是的,我知道 (change) 和 (blur)(我必须同时使用它们才能让它工作),我只是希望有一个 angular2 ngModelChangeStrategy 或其他可能的东西设置为按键或更改或其他任何内容(la 淘汰赛)
  • @mookietheswede,我不知道有什么方法可以改变 ngModelChange 行为。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-17
  • 2017-02-23
相关资源
最近更新 更多