Ionic Popover "замерз" на открытии

У меня есть очень простой код Ionic Popover, который выглядит следующим образом:

html (main-view.html)

<div>
    <a href="" ng-click="openPopover()">Open Popup</a>
</div>

html (my-view.html)

<ion-popover-view>
    <ion-content>
        <div class="row">
            <div class="col col-90"><h4>{{ 'Test header' }}</h4></div>
            <div class="col col-10">
                <i class="ion-close" ng-click="closePopover()"></i>
            </div>          
        </div>
        <div class="row">
            <div class="col col-100">
                <p>
                    {{ 'Some content here' }}
                </p>
            </div>
        </div>
    </ion-content>
</ion-popover-view>

контроллер

angular.module('myApp').controller('MainCtrl', function($scope, $rootScope, $ionicPopover){
            $ionicPopover.fromTemplateUrl('views/my-view.html', {
                scope: $scope,
                "backdropClickToClose": false
            }).then(function(popover) {
                $scope.popover = popover;
            });

            $scope.openPopover = function($event){
                $scope.popover.show($event);                 
            };

            $scope.closePopover = function() {
                $scope.popover.hide();        
            };
};

Проблема здесь в том, когда я бегу ionic serve код работает нормально, но когда я нажимаю на обновление и ионный сервер все еще работает и снова открываю поповер, closePopover() не работает вообще. Даже если я добавлю html-ссылку внутри него, чтобы открыть другой сайт, это не сработает.

Если я закрою ионный сервер и затем снова открою его, он будет работать снова, пока я обновляю страницу.

В чем может быть проблема?

Я проверил ion-close компоненты нажимают на слушателя и все вроде нормально. Я пытался воссоздать $ionicPopover создание экземпляров всякий раз, когда пользователь открывает поповер, но ничего не работает.

Вся помощь приветствуется.

2 ответа

Решение

После долгого осмотра и испытаний я обнаружил, что проблема была с <ion-popover-view> компонент, который сломал логику полностью. Так что, похоже, есть ошибка в этом компоненте, и я уже открыл заявку в Github Ionic Framework, чтобы исправить эту ошибку. Вопрос находится здесь. Ionic Framework Popover Проблема замораживания

Попробуй это

   <ion-popover-view>
    <ion-content>
     <div class="row">
        <div class="col col-90"><h4>{{ 'Test header' }}</h4></div>
        <div class="col col-10">
            <i class="ion-close" ng-click="popover.hide();"></i>
        </div>          
    </div>
    <div class="row">
        <div class="col col-100">
            <p>
                {{ 'Some content here' }}
            </p>
        </div>
    </div>
   </ion-content>
  </ion-popover-view>
Другие вопросы по тегам