AngularJs $mdDialog закрывает страницу отключения

У меня проблема с закрытием mdDialog, вот closePop Я пытался использовать функцию .hide(), но у меня та же проблема { $mdDialog.cancel(); // $mdDialog.hide(); }

Когда я нажимаю кнопку закрытия в диалоговом окне, основной вид как бы зависает, ng-click больше не работает, вот шаблон: `

<!--<div layout="row" class="tab-body room-tab-item" layout-wrap>-->

    <div elem-ready="$ctrl.loadData($ctrl.broadcaster.id)"></div>
<div class="calendar-tab-header"> Click on a date to add it into your time table</div>
<div>Items are displayed in your current time zone.</div>
    <div class="calendar-tab-success">{{$ctrl.success}}</div>
    <div class="calendar-tab-error">{{$ctrl.error}}</div>
    <table class="calendar-tab-my-timetable">
        <thead>
        <tr>
            <th>Date and Hour</th>
        </tr>
        </thead>
    </table>


        <button ng-repeat="schedule in $ctrl.schedules" ng-click="$ctrl.checkIn(schedule.id)">
            <td><div class="calendar-tab-date">{{schedule.date}}</div>
                <div class="calendar-tab-hour">{{schedule.startHour}}:00</div>
            </td>
            <!--<td>{{game.release}}</td>-->
        </button>



</div>

` функция checkIn загружает только модальное окно, при первом нажатии оно работает, но когда я использую функцию закрытия модального окна, оно закрывает модальное окно, но я не могу снова нажать на кнопки, чтобы снова показать модальное окно, я думаю, что это отключает нг-щелчок

    $mdDialog.show({
                controllerAs: 'ctrl',
                templateUrl: 'modal.view.html',
                parent: angular.element(document.body),
                // targetEvent: ev,
                clickOutsideToClose: false,
                scope: $scope
            }).then(function (scope) {
            }, function () {});

Может кто-то мне помочь, пожалуйста?


person Razvan Struc    schedule 29.01.2019    source источник
comment
Что, вероятно, происходит, так это то, что модальный фоновый слой все еще присутствует и находится поверх остальной части страницы, и поэтому ваше событие клика не каскадируется на элемент кнопки. Попробуйте установить clickOutsideToClose: true и посмотреть, сохраняется ли проблема. Может баг библиотеки?   -  person Protozoid    schedule 29.01.2019
comment
Я сделал это, но это не работает   -  person Razvan Struc    schedule 29.01.2019


Ответы (1)


Добавлять

preserveScope: true

 $mdDialog.show({
                controllerAs: 'ctrl',
                templateUrl: 'modal.view.html',
                parent: angular.element(document.body),
                // targetEvent: ev,
                preserveScope: true,
                clickOutsideToClose: false,
                scope: $scope
            }).then(function (scope) {
            }, function () {});
person Garine    schedule 30.01.2019