Javascript 在angular中禁用双向绑定?
我正在使用Angular materialJavascript 在angular中禁用双向绑定?,javascript,html,angularjs,mddialog,Javascript,Html,Angularjs,Mddialog,我正在使用Angular materialmd对话框,当用户单击按钮(编辑按钮)以显示对话框时,它将获取当前对象(表格中的一行)并将其传递给showDialog函数,用其值填充对话框字段: <button ng-class="showDialog(task)">Open dialog</button> 但是,每当我编辑对话框中的值时,表的后面就会有一个活动绑定,表中的键击值与对话框中的键击值相同,如果我在外部单击(取消编辑),这些值将保持不变。 那么有没有办法禁用这种双
md对话框
,当用户单击按钮(编辑按钮)以显示对话框时,它将获取当前对象(表格中的一行)并将其传递给showDialog
函数,用其值填充对话框字段:
<button ng-class="showDialog(task)">Open dialog</button>
但是,每当我编辑对话框中的值时,表的后面就会有一个活动绑定,表中的键击值与对话框中的键击值相同,如果我在外部单击(取消编辑),这些值将保持不变。
那么有没有办法禁用这种双向绑定,只需将对象的副本传递给
showDialog
函数而不是引用?在这种情况下,angular.copy()
就可以了。有很多方法可以做到这一点,但您应该使用一个简单的解决方案-这就是为什么angular.copy()
这次应该这样做-尝试:
$scope.taskToEdit = angular.copy(task);
这不会禁用AngularJS中的E2E绑定,但会阻止更新主视图中的
$scope
有没有办法传递对象的副本?是的,有。创建副本,并将其传递给showDialog函数。您是否在询问如何创建对象的副本?这个物体看起来像什么?你试过什么?嘿,穆罕默德,我还在这里等你的回复:
$scope.taskToEdit = angular.copy(task);