将表单重置为AngularJS中的初始值
Reset form to initial values in AngularJS
是否可以在AngularJS中将表单重置为其初始值?
我有一个简单的表单,其中有一个ng-model='my_object.my_value'
字段,该字段已禁用。当我开始编辑它时,我会将$scope.my_object
复制到$scope.my_object_backup
。
如果单击"取消",则禁用该字段并设置$scope.my_object = $scope.my_object_backup
。但我在输入中看到的值没有改变。
有办法绕过这种行为吗?
我尝试设置value="{{my_object.my_value}}"
,但它没有改变任何内容。
您可以使用angular.copy深度复制对象
$scope.my_object_backup = {};
angular.copy($scope.my_object, $scope.my_object_backup);
您所做的$scope.my_object_backup = $scope.my_object
是进行引用赋值,使它们实际上指向完全相同的对象。因此,如果您通过一个引用进行修改,您将通过另一个引用访问修改后的对象。
相关文章:
- 如何从AngularJS表单输入中生成一个永久变量
- AngularJS:表单提交没有返回JSON中的值
- AngularJS表单使用控制器和服务发布
- 文本字段的AngularJS表单
- Angularjs-表单发布数据未发布
- AngularJS-表单验证,如何滚动到第一个无效输入
- AngularJS表单未加载
- 一段时间后隐藏与 angularjs 表单验证一起显示的错误标签
- AngularJS 表单验证 - 类型错误:无法设置未定义的属性“整数”
- Angularjs - 表单验证
- AngularJS表单,检查有效性
- AngularJS表单提交和重定向
- 在验证完成之前,AngularJS 表单$valid设置为 true
- AngularJS表单保持$dirty手动设置每个输入$pristine
- Angularjs - 表单验证 - 简化
- AngularJS表单验证不起作用
- 在提交 AngularJS 表单时显示元素
- 为什么不是't正在调用AngularJS表单处理程序方法
- angularjs表单提交的数据为空
- 在angularjs表单验证中强制ng脏