javascript - 在 AngularJS 中将表单重置为初始值

标签 javascript 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 是进行引用赋值,因此它们实际上指向完全相同的对象。因此,如果您通过一个引用进行修改,您将通过另一个引用访问修改后的对象。

关于javascript - 在 AngularJS 中将表单重置为初始值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18135036/

相关文章:

javascript - 如何按特定顺序运行 Nightwatch 测试?

javascript - AngularJS:为什么我的指令不能使用 $scope?

angularjs - 是否可以使用 Redis 作为字典和 AngularJs 来实现拼写检查功能?

javascript - 如何在 Angular js APP 的 config.js 中正确注入(inject) adalprovier

javascript - Onsen 2.0 v 1.x - 纯 JS

angularjs - ngAnimate - 双向滑动

javascript - 在两个未知值之间切换 JQuery 动画

javascript - 如何在node.js中使用导入和导出?

javascript - 在结束 body 标签之前编写 CSS

javascript - 模拟服务返回对象($$state)错误