Angular ng dirty在用户手动重置字段后未重置?

Angular ng dirty在用户手动重置字段后未重置?,angular,Angular,Angular决定在用户手动将字段设置回初始值后,不将输入的类从ng dirty重置为ng pristine,其原因是什么 仅当用户实际更改了表单的某些数据时,我才希望执行保存逻辑。是否有比手动保持初始状态并在提交时检查差异更好的方法?状态为dirty,这意味着用户更改了值。Angular不跟踪原始值,因此无法判断原始值是否已恢复 如果您想知道该值是否已更改,则必须存储该值,并在提交时自行比较是否已更改。如何重置。例如,输入中的初始值为hello,用户类型为a,新输入值为helloa,状态为di

Angular决定在用户手动将字段设置回初始值后,不将输入的类从
ng dirty
重置为
ng pristine
,其原因是什么


仅当用户实际更改了表单的某些数据时,我才希望执行保存逻辑。是否有比手动保持初始状态并在提交时检查差异更好的方法?

状态为
dirty
,这意味着用户更改了值。Angular不跟踪原始值,因此无法判断原始值是否已恢复


如果您想知道该值是否已更改,则必须存储该值,并在提交时自行比较是否已更改。

如何重置。例如,输入中的初始值为
hello
,用户类型为
a
,新输入值为
helloa
,状态为dirty。用户按backspace,新值再次为
hello
,Angular应(imho)将状态重置为非脏。“状态为脏,这意味着用户触摸了该值。”-这不就是状态
ng topped
ng untopped
的目的吗?你不是说“用户触摸了价值”来暗示这一点吗?-)你是对的,对不起。好吧,它仍然没有保留原始值进行比较
ng toucted
只检查控件是否有焦点。好吧,那真是太不幸了。你知道为什么他们没有包含变更跟踪功能的原因吗?为我所有的领域写这样的逻辑实在是太麻烦了……真遗憾。我将创建一个功能请求。我想考虑到
ngModel
支持具有任何类型值的自定义组件(不清楚“未更改”的含义),这太复杂了。但是API可以扩展,因此组件必须自己实现比较。