通过绑定到 md 对话框的一种方式传递数据
Pass data with one way binding to md dialog
我想将数据传递给 md 对话框,如果我在 md 对话框控制器中更改该数据,它不应反映在 md 对话框的父控制器中。
vm.openAddWorkstreamDialog = () => $mdDialog.show({
templateUrl: 'main/my-dialog/my-dialog.html',
controller: 'MyDialogController',
bindToController: true,
clickOutsideToClose: true,
locals: {
data_in_dialog: data_in_parent
}
});
现在我想要实现的行为是,如果我对 MyDialogController
中的 data_in_dialog
对象进行任何更改,它不应更改父控制器中的 data_in_parent
对象。
目前,如果我对 data_in_dialog
对象(在 MyDialogController
内)进行任何更改,它也会更改 data_in_parent
(存在于 md 对话框的父控制器中)
在MyDialogController
中使用angular.copy
$scope.varInsideDialogController = angular.copy(data_in_dialog);
我想将数据传递给 md 对话框,如果我在 md 对话框控制器中更改该数据,它不应反映在 md 对话框的父控制器中。
vm.openAddWorkstreamDialog = () => $mdDialog.show({
templateUrl: 'main/my-dialog/my-dialog.html',
controller: 'MyDialogController',
bindToController: true,
clickOutsideToClose: true,
locals: {
data_in_dialog: data_in_parent
}
});
现在我想要实现的行为是,如果我对 MyDialogController
中的 data_in_dialog
对象进行任何更改,它不应更改父控制器中的 data_in_parent
对象。
目前,如果我对 data_in_dialog
对象(在 MyDialogController
内)进行任何更改,它也会更改 data_in_parent
(存在于 md 对话框的父控制器中)
在MyDialogController
中使用angular.copy
$scope.varInsideDialogController = angular.copy(data_in_dialog);