Открыть вложенный модальный и закрыть текущий (родительский) модальный - PullRequest
0 голосов
/ 15 февраля 2019

С controller1 Я открываю модал вот так:

angular.module('myApp').controller('controller1', ['$scope', '$uibModal', function($scope, $uibModal) {

    $scope.openFirstModal = function() {

        var modalScope = $scope.$new();

        var modalInstance = $uibModal.open({
            templateUrl: 'views/modal1.html',
            controller: 'modal1Controller',
            scope: modalScope,
            resolve: {},
            size: 'lg'
        });

        modalScope.uibModalInstance = modalInstance;
    };

}]);

Затем я открываю вложенный модал вот так:

angular.module('myApp').controller('modal1', ['$scope', '$uibModal', function($scope, $uibModal) {

    $scope.openSecondModal = function() {

        // Open nested modal
        var modalScope = $scope.$new();

        var modalInstance = $uibModal.open({
            templateUrl: 'views/modal2.html',
            controller: 'modal2Controller',
            scope: modalScope,
            resolve: {},
            size: 'lg'
        });

        modalScope.uibModalInstance = modalInstance;

        // Close this modal
        $scope.uibModalInstance.dismiss('cancel');
    };

}]);

Нопоследняя часть:

        // Close this modal
        $scope.uibModalInstance.dismiss('cancel');

... вызывает проблемы во вложенном модале.Ничего не работает в моем вложенном модале:

angular.module('myApp').controller('modal2', ['$scope', '$uibModal', function($scope, $uibModal) {

    $scope.test = function() {
        console.log("test");
    };

}]);

Если я удаляю проблемный фрагмент кода, вложенный модал работает нормально.

Как мне закрыть первый модал, не сделав вложенный модал впотерпеть неудачу?

1 Ответ

0 голосов
/ 15 февраля 2019

Ах, только что нашел проблему.

Я изменил это:

    // Open nested modal
    var modalScope = $scope.$new();

С этим:

    // Open nested modal
    var modalScope = $rootScope.$new();

Таким образом, вложенный модал не полагается наего родитель.Родитель может умереть, и ребенок продолжит жить

...