我想问如果父作用域销毁了,子作用域也会被销毁吗?
我问这个问题是因为我正在使用 ngdialog 创建一些模式对话框。 有2个对话框,A -> B,我们可以从网页中打开对话框A,对话框A是对话框B的父级,单击A上的按钮可以打开B。
我想同时打开对话框B并关闭A(B的父级),并且范围B中的数据全部丢失。所以我想可能是这个原因造成的。谁能帮助我更好地理解这一点?
dialogACtrl:
$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();
最佳答案
当父作用域被销毁时,它基本上会级联销毁其子作用域树。
关于angularjs - 如果子作用域的父作用域被销毁,子作用域会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33609510/