Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将表单重置为AngularJS中的初始值_Javascript_Angularjs - Fatal编程技术网

Javascript 将表单重置为AngularJS中的初始值

Javascript 将表单重置为AngularJS中的初始值,javascript,angularjs,Javascript,Angularjs,是否可以在AngularJS中将表单重置为其初始值 我有一个简单的表单,其中有一个字段ng model='my\u object.my\u value',该字段已禁用。当我开始编辑它时,我将$scope.my_object复制到$scope.my_object\u backup 如果单击“取消”,我将禁用该字段并设置$scope.my\u object=$scope.my\u object\u backup。但是我在输入中看到的值没有改变 有没有办法避免这种行为 我尝试设置value=“{{my

是否可以在AngularJS中将表单重置为其初始值

我有一个简单的表单,其中有一个字段
ng model='my\u object.my\u value'
,该字段已禁用。当我开始编辑它时,我将
$scope.my_object
复制到
$scope.my_object\u backup

如果单击“取消”,我将禁用该字段并设置
$scope.my\u object=$scope.my\u object\u backup
。但是我在输入中看到的值没有改变

有没有办法避免这种行为

我尝试设置
value=“{{my\u object.my\u value}}”
但它没有改变任何东西。

您可以使用它来深度复制对象

$scope.my_object_backup = {};
angular.copy($scope.my_object, $scope.my_object_backup);

您所做的
$scope.my\u object\u backup=$scope.my\u object
是进行引用赋值,以便它们实际上指向完全相同的对象。因此,如果您通过一个引用进行修改,您将通过另一个引用访问修改过的对象。

您是如何复制对象的?基本上是同一个问题:我做了一个简单的
$scope.my\u object\u backup=$scope.my\u object
哇,我先尝试了这个(就像在文档中一样)但它总是重置为null,所以我认为它不好,于是选择了
$scope.my_object\u backup=$scope.my_object
。。。我像你说的那样再次尝试,并注意到我的
$范围。我的\u对象\u备份
初始化为
null
。。。我把它改成了
newobject()
,效果很好!