【问题标题】:Ionic Popover "freeze" on openIonic Popover 在打开时“冻结”
【发布时间】:2017-02-16 13:12:47
【问题描述】:

我有以下非常简单的 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 链接以打开其他网站,它也不起作用。

如果我关闭 ionic 服务器然后重新打开它,只要我刷新页面,它就会再次运行。

可能是什么问题?

我检查了ion-close 组件的单击侦听器,一切似乎都很好。每当用户打开弹出框时,我都尝试重新创建 $ionicPopover 实例化,但没有任何效果。

感谢所有帮助。

【问题讨论】:

    标签: javascript html ionic-framework ionic-popover


    【解决方案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>
    

    【讨论】:

    • 该代码与我上面所说的效果完全相同。没用。
    • 我在新项目中测试了我的相同代码,它似乎工作正常,但每当我再次刷新时,这一次 css 样式变得非常混乱,甚至角度函数也不起作用(就像dom 组件和 angular 函数之间的函数绑定已被根除)。我开始认为这是一个离子框架的错误。
    【解决方案2】:

    经过长时间的检查和测试,我发现问题出在&lt;ion-popover-view&gt; 组件上,它完全破坏了逻辑。所以看起来这个组件有一个错误,我已经在 Ionic Framework 的 Github 中打开了票来修复这个错误。问题位于此处。 Ionic Framework Popover Freeze Issue

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-12
      • 1970-01-01
      • 2010-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-23
      • 1970-01-01
      相关资源
      最近更新 更多