问题:
Stackblitz:Yandex Metrica
如果我更改文本1或文本2的值,则事件将触发一次。但是,当我更改最后一个字段的值(类型为number)时,它将触发更改并模糊,这会在我的webapp中引起一些问题。
问题:
当字段类型为“数字”时,为什么“ valueChange”事件在“更改”和“模糊”上触发?
如何防止这种情况?
(Chrome / Firefox / EDGE上的行为相同)
答案 0 :(得分:3)
这是众所周知的问题https://github.com/angular/angular/issues/12540
原因是Angular监听CHECK(scopes <@ ARRAY['read', 'write', 'delete', 'update'])
和input
这两个事件,以控制change
。我认为这是因为浏览器可以不同地处理这些事件。
您可以使用一个小的解决方法:
input[type=number]
或使用distinctUntilChanged防止不必要的通话。