Невозможно получить доступ к $ modalInstace в comp onet, который открывается через $ modal - PullRequest
0 голосов
/ 20 марта 2020

У меня есть один сценарий, в котором я открываю компонент с помощью пользовательского интерфейса. bootstrap $ modal service.

Теперь, чтобы закрыть / закрыть это всплывающее окно, мне нужно было иметь $ modalInstance в моем компоненте. Я попытался получить его с помощью нижеприведенного подхода, но не удалось, это дает ошибку Неизвестный поставщик: $ modalInstanceProvider <- $ modalInstance </strong>

angular.module('dummyApp', [])
    .component('myComponent', myComponent)

function myComponent(){
    return {
        template: '<B> Hello World!</B><button ng-click="$ctrl.closePopup()"></button>',
        controller: function($modalInstance){
            this.closePopup = function(){
                $modalInstance.dismiss();
            }
        }
    }
}

Я загружаю вышеуказанный компонент в другом модуле с кодом ниже :

angular.module('mainApp', 'oc.lazyLoad', 'ui.bootstrap')
    .controller('appController', function($ocLazyLoad, $modal){

        $ocLazyLoad.load({
            name: 'dummyApp',
            files: ['../app.component.js']
        }).then(function() {
            var modalInstance = $modal.open({
                backdrop: 'static',
                keyboard: true,
                backdropClick: false,
                template: '<my-component></my-component>',
                windowClass: 'edit-contactenblad',
            });
        });
    })

Информация о версии:

  1. AngularJS: 1,5,6
  2. пользовательский интерфейс. bootstrap: 2,5,0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...