我了解$pristine
,$dirty
等属性。但是,$dirty
只是表明该表单元素是否已与之互动。
如何检查该表单元素是否已实际更改?
我需要在元素上添加$changed
属性,指示input
的值(或form
,任何子input
)的值已经更新。如果该值设置回原始值,我希望将$changed
设置回false
。
我的问题:角度有没有这样的东西?如果没有,我该如何构建这样的功能?
答案 0 :(得分:2)
您需要存储表单数据,观察然后进行比较。这个指令似乎是通过"修改"听起来像你的"改变了#34;您正在寻找的房产。他们有一个可以测试的人。
您可以使用手表,但如果您想重复使用代码,则需要创建一个指令来完成繁重的工作。
答案 1 :(得分:0)
你可以这样使用$scope.$watch('myForm', function(){
console.log('Form Changed')
},true)
:
在您的控制器中:
<form name='myForm'>
<input type="text" placeholder="Enter new name" ng-model="myForm.inputText" />
<input type="text" placeholder="Other" ng-model="myForm.inputOther" />
<input type="submit" />
</form>
在您的HTML中:
<%= f.date_select :deadline, :order => [:month, :day, :year], class: 'date-select' %>