У меня есть один сценарий, в котором я открываю компонент с помощью пользовательского интерфейса. 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',
});
});
})
Информация о версии:
- AngularJS: 1,5,6
- пользовательский интерфейс. bootstrap: 2,5,0