0

我有以下非常简单的 Ionic 弹出框代码:

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每当用户打开弹出框时,我都尝试重新创建实例化,但没有任何效果。

感谢所有帮助。

4

2 回答 2

0

经过长时间的检查和测试,我发现问题出在<ion-popover-view>完全破坏逻辑的组件上。所以看起来这个组件有一个错误,我已经在 Ionic Framework 的 Github 中打开了票来修复这个错误。问题位于此处。离子框架弹出框冻结问题

于 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 回答