【发布时间】:2017-02-03 05:39:36
【问题描述】:
我使用插值将变量绑定到输入字段(变量的值反映在输入字段中)。只要数据库中的相应值发生更改,该变量就会在后台自动更新。
如果用户当前正在编辑此字段,我想阻止 Angular 将变量的更改应用到输入字段。否则会覆盖用户的编辑。
(换句话说:我希望 Angular 在更新值之前检查输入字段当前是否被标记为 ng-pristine 而不是 ng-dirty。)
实现这一目标最简单的原因是什么?
想法: 难道不能实现一个等于 ngModel 的指令,但在应用值之前检查是否设置了类 ng-dirty?
最佳解决方案: 有一个指令,可以像 ngModel 那样进行双向数据绑定。如果未为视图设置“ng-dirty”标志,则该指令将模型内的更改应用于视图。如果视图失去焦点(如果触发了模糊事件),该指令会将视图内的更改应用于模型。
【问题讨论】: