次の非常に単純な Ionic ポップオーバー コードがあります。
html (メインビュー.html)
<div>
<a href="" ng-click="openPopover()">Open Popup</a>
</div>
html (マイビュー.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リンクを追加して他のWebサイトを開くとしても、機能しません。
イオンサーバーを閉じてから再度開くと、ページを更新する限り再び機能します。
何が問題なのですか?
ion-close
コンポーネントのクリックリスナーを確認しましたが、すべて問題ないようです。$ionicPopover
ユーザーがポップオーバーを開くたびにインスタンス化を再作成しようとしましたが、何も機能しません。
すべての助けに感謝します。