0

次の非常に単純な 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ユーザーがポップオーバーを開くたびにインスタンス化を再作成しようとしましたが、何も機能しません。

すべての助けに感謝します。

4

2 に答える 2

0

<ion-popover-view>長い検査とテストの後、問題はロジックを完全に壊したコンポーネントにあることがわかりました。したがって、このコンポーネントにはバグがあるようで、Ionic Framework の Github でバグを修正するためのチケットを既に開いています。問題はここにあります。Ionic フレームワークのポップオーバー フリーズの問題

于 2016-10-11T08:42:56.317 に答える
-1

これを試してみてください

   <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>
于 2016-10-08T11:25:52.567 に答える