我想要一个对话框,要求保存当前的更改。为此,我在AngularJS中搜索一个事件,触发更改任何范围变量。
按照我的逻辑,我将通过在每个控件上创建事件来实现这一点,并更新变量以说“修改”。否则将具有默认值。
<小时/> 还有其他方法吗?由于我的逻辑需要在每个控件上都有一个事件。
答案 0 :(得分:1)
如果你使用form directive,这很简单。如果任何属性已更改,则myForm.$dirty
的值将为true。您甚至可以使用myForm.myField.$dirty
检查单个字段。
如果你没有使用表格,你应该考虑一下你试图完成的事情。我最喜欢的角度功能之一,因为它使验证等等变得轻而易举!
参考:angular docs
答案 1 :(得分:0)
看看$scope.$watch(...)
on the Angular docs,我们就$watch
的工作方式进行了很好的讨论here on another Stack Overflow question
当特定的范围元素发生变化时,您至少应该能够触发警报。如果您使用的是表单,那么上面的$dirty
方法绝对是一个很好的方法。