通过绑定到 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);