У меня есть Модальное окно в моем заголовке, с ссылкой на ссылку Click в моем заголовке, чтобы открыть и закрыть окно модального ... и это отлично работает. То естьФункция углового вызова Modal Open от одного контроллера к другому
<div class="header" ng-controller="headerCtrl">
...
<li><a href ng-click="open()">Report an Issue</a></li>
...
</div>
, а затем мои контроллеры
.controller('headerCtrl', ['$location', '$scope', '$log', '$modal', function ($location, $scope, $log, $modal) {
'use strict';
(function() {// init
$scope.open = function (size) {
var modalInstance = $modal.open({
templateUrl: 'views/help/supportModalContent.html',
controller: 'supportInstanceCtrl'
});
};
})();
}])
.controller('supportInstanceCtrl', ['$location', '$scope', '$log', '$modalInstance','$state', function ($location, $scope, $log, $modalInstance,$state) {
'use strict';
(function() {// init
$scope.ok = function() {
$modalInstance.close($scope.selected.item);
};
$scope.isCollapsed = false;
$scope.message_sent = false;
})();
$scope.cancel = function() {
$modalInstance.dismiss('cancel');
};
$scope.faq = function() {
$modalInstance.close('cancel');
$state.go('faq');
};
$scope.help = function() {
$modalInstance.close('cancel');
$state.go('help');
};
$scope.send = function() {
$scope.isCollapsed = true;
$scope.message_sent = true;
};
}])
Проблема теперь в одном из моего главного вида контента, теперь я также ссылку, которая говорит что-то нажмите здесь для поддержки. И я хочу снова открыть такое же модальное окно. Так что я сделал это
.controller('noResultCtrl', ['$location','$scope','$log','search','$state','$modal',function ($location,$scope,$log,search,$state,$modal) {
'use strict';
$scope.open = function (size) {
var modalInstance = $modal.open({
templateUrl: 'views/help/supportModalContent.html',
controller: 'supportInstanceCtrl'
});
};
}])
И это работает, но есть лучший способ, а того, чтобы поставить эту же логику в каждых контроллерах я хочу вызвать то же модальное окно в заголовке?
да .. создать сервис для этого .. – Ved