我有以下非常简单的 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
每当用户打开弹出框时,我都尝试重新创建实例化,但没有任何效果。
感谢所有帮助。