Создать общую функцию для закрытия модальных angularjs

0

Я использую Uikit/angularjs, и я создам общую функцию для закрытия модалов. На самом деле это метод:

$scope.closeDialog = function() {
            var modal = UIkit.modal("#myModalId");
            if ( modal.isActive() ) {
                modal.hide();
            }
        };

и внутри модального я получил

<button type="button" class="uk-button uk-button-primary" data-ng-click="closeDialog()">Close</button>

Он работает, но таким образом мне нужно всегда создавать новую функцию для каждого модального. Есть ли способ обобщить эту функцию, возможно, передать функции id диалогового окна? Я создал jsfiddle и странно, кажется, не работает, даже если я получаю идентификатор exaccty: http://jsfiddle.net/8y48q/62/

  • 0
    Почему бы не иметь сервис, управляющий вашими модалами? Вы можете обернуть функциональность библиотеки, которую вы там используете, в свои собственные методы открытия и закрытия и вызывать их вместо этого.
Теги:
uikit

2 ответа

1
$scope.closeDialog = function(id) {
            $modalStack.dismissAll();
        };

Это отклонит все модальности

http://jsfiddle.net/8y48q/64/

0

Просто передайте идентификатор closeDialog. См. Http://jsfiddle.net/8y48q/63/

$scope.closeDialog = function(id) {
    var modal = UIkit.modal(id);
    if ( modal.isActive() ) {
         modal.hide();
    }
};
  • 0
    Может быть решением. хорошо спасибо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню