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>