我想问如果父范围销毁,子范围也会被销毁吗?
我问这个问题是因为我正在使用 ngdialog 创建一些模式对话框。有2个对话框,A -> B,我们可以从网页打开对话框A,对话框A是对话框B的父级,点击A上的按钮打开B。
我想同时打开对话框B并关闭A(B的父级),并且范围B中的数据都丢失了。所以我认为这可能是由这个引起的。谁能帮助我更好地理解这一点?
对话框ACtrl:
$scope.selectServer = function (serverType) {
$scope.serverType = serverType;
$scope.closeThisDialog('close'); //close current dialog
var newScope = $scope.$new(true);
var modalInstance;
modalInstance = ngDialog.openConfirm({
template: 'servers/templates/dialog-b.tpl.html',
scope: newScope,
controller: 'dialogBCtrl',
resolve: {
serverData: function () {
return null;
},
delegate: callbackWrapper
}
});
siteScopeModalInstance.result.then(callback);
ngDialog源:
open: function (opts) {
...
scopes[dialogID] = scope = angular.isObject(options.scope) ? options.scope.$new() : $rootScope.$new();
performCloseDialog: function ($dialog, value) {
...
scope.$destroy();