在角度中禁用双向绑定?

时间:2017-03-11 10:40:17

标签: javascript html angularjs mddialog

我正在使用Angular材质md-dialog,当用户单击按钮(编辑按钮)以显示对话框时,它会获取当前对象(表中的一行)并将其传递给{{ 1}} function,用对象填充对话框字段:

showDialog

showDialog函数:

<button ng-class="showDialog(task)">Open dialog</button>

但每当我编辑对话框中的值时,表格后面会有一个实时绑定,其中表格获得与对话框相同的击键值,如果我在外面点击(取消编辑)这些值坚持下去。 那么有没有办法禁用这种双向绑定,只是将对象的副本传递给$scope.showDialog = function (task) { $scope.taskToEdit = task; $mdDialog.show({ controller: DialogController, contentElement: '#taskEdit', parent: angular.element(document.body), clickOutsideToClose: true }); }; 函数而不是引用?

1 个答案:

答案 0 :(得分:3)

在这种情况下,self._Parent = PlayM应该这样做。有很多方法,但你应该使用一个简单的解决方案 - 这就是为什么angular.copy()这次应该这样做 - 尝试:

angular.copy()

这不会禁用AngularJS中的E2E绑定,但会阻止更新主视图中的$scope.taskToEdit = angular.copy(task);