我有一个离子应用程序,有一个侧菜单,一个弹出窗口,和一个模态。
- 在页面中,有一个网格表。
- 用户可以选择一行以将其突出显示。
- 然后,用户可以打开弹出窗口,并查看或编辑该行。
- 选择查看或编辑后,将打开模态。
- 在模态中,可以单击右上角的取消按钮关闭模态。
- 关闭模态后,应用程序不再读取所有点击、触摸、滑动等操作。
下面是popover
和modal
的代码。
JS
// MODAL
$ionicModal.fromTemplateUrl('templates/modals/view-product.html', {
scope: $scope,
animation: 'slide-in-up'
})
.then(function(modal) {
$scope.viewModal = modal;
});
$scope.openModal = function(modal) {
$scope[modal].show();
};
$scope.closeModal = function(modal) {
$scope[modal].hide();
};
// POPOVER
$ionicPopover.fromTemplateUrl('templates/popovers/list.popover.html', {
scope: $scope,
}).then(function (popover) {
$scope.popover = popover;
});
HTML格式
<!-- POP OVER -->
<ion-popover-view class="fit">
<ion-content>
<div class="list">
<a class="item" ng-click="viewProduct(this); popover.hide()" ng-bind="lblView"></a>
<a class="item" ng-click="editProduct(this); popover.hide()" ng-bind="lblEdit"></a>
</div>
</ion-content>
</ion-popover-view>
<!-- MODAL -->
<ion-modal-view>
<ion-header-bar class="bar bar-header bar-positive">
<h1 class="title">Viewing Product</h1>
<button class="button button-clear button-primary" ng-click="closeModal('viewModal')">Cancel</button>
</ion-header-bar>
<ion-content class="padding">
<div class="list">
<!-- list here -->
</div>
</ion-content>
</ion-modal-view>
6条答案
按热度按时间oaxa6hgo1#
这里我解决了它关闭弹出窗口和使用超时之前打开模态,看
xkftehaa2#
该问题似乎已经是一个已知漏洞,并已在离子问题跟踪器中列出:
https://github.com/driftyco/ionic/issues/8582
我想我只会等待它在上面的链接回答。
dw1jzc5e3#
我刚刚准备了一个小游戏示例,也许您可以将您的解决方案与它进行比较,以确定问题所在。
http://play.ionic.io/app/89ab5ebbb236
请注意,我在显示模态时主动隐藏了弹出窗口--这可能是问题所在,您在应用程序中是否这样做了?
所以乍一看,我无法重现这个问题。如果提供的例子对你没有帮助,那么知道你是否在控制台中得到任何错误是很有趣的。
c9qzyr3d4#
这应该是有帮助的。
kgqe7b3p5#
我在我的ionic 2应用程序中也遇到过类似的问题。我通过使用“this.navCtrl.pop()”来关闭模态而不是使用“dismiss()”函数来解决它。
注意:不要在关闭模态
xuo3flqw6#
这个问题的快速解决方案是一个简单的CSS类,不需要任何JS解决方案。
在自定义css文件中
此修正在
backdropClickToClose:false
被设置时不会覆盖模态或弹出窗口的行为。周围区域仍然不可点击。