我正在使用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
});
};
函数而不是引用?
答案 0 :(得分:3)
在这种情况下,self._Parent = PlayM
应该这样做。有很多方法,但你应该使用一个简单的解决方案 - 这就是为什么angular.copy()
这次应该这样做 - 尝试:
angular.copy()
这不会禁用AngularJS中的E2E绑定,但会阻止更新主视图中的$scope.taskToEdit = angular.copy(task);
。