我有一个模式打开第二个模式,如果打开然后关闭第二个模式,则无法关闭第一个模式
I have a modal that opens a second modal and cannot close the first modal if open then close the second
首先,我创建了一个代码笔,我认为标题说明了一切。我创建了一个服务来处理我的模态,如下所示
.service('ModalService', function($ionicModal, $ionicLoading, $rootScope) {
var init = function(tpl, $scope) {
$ionicLoading.show({
content: 'Loading',
animation: 'fade-in',
showBackdrop: true,
maxWidth: 200,
showDelay: 0
});
var promise;
$scope = $scope || $rootScope.$new();
promise = $ionicModal.fromTemplateUrl(tpl, {
scope: $scope,
animation: 'slide-in-up'
}).then(function(modal) {
$scope.modal = modal;
return modal;
});
$scope.$on('$destroy', function() {
$scope.modal.remove();
});
return promise;
}
return {
init: init
}
})
它在控制器中被调用,就像这样
ModalService.init('modal.html', $scope).then(function(modal) {
...do something....
$ionicLoading.hide();
modal.show();
});
问题是我只能关闭一种模式,第一个或第二个,但是如果我进入第二个,我无法关闭第二个。我假设当我关闭一个时它会破坏两者的模态实例?如果我不想将其切入不同的控制器,我该如何解决此问题?
您将函数
返回modal
控制器的所有实例分配给$scope.modal $ionicModal.fromTemplateUrl(...).then(modal)
。
第二个实例"覆盖"第一个实例,因此当您关闭第二个实例然后尝试使用关闭按钮(ng-click="modal.hide()"
)隐藏第一个实例时,$scope.modal
仍然指向第二个...
因此,在您的服务中,您必须为每个$ionicModal实例单独存储模态控制器。以下是对代码的可能编辑:
http://codepen.io/beaver71/pen/dGKBmv
另请查看这篇文章: 如何在科尔多瓦应用程序中创建两个离子模态?或这个:离子多模态仅最后显示
相关文章:
- 下拉选择可自动更改第二个下拉选择
- 为什么不'在JQuery中找到第二个css选择器的工作
- 当单击第一个李时,它显示内容一,当单击第二个李时,它显示内容二
- CORS-重定向到第二个GET正在接收的页面
- 正则表达式与数字中的第二个点匹配
- 如何在react js中移动第二个组件
- 使用Javascript,如何显示<tr>在另一<tr>悬停时,隐藏第二个<tr>
- 关闭第二个事件源上的第一个事件源's onopen方法
- D3从嵌套的JSON中绘制第二个圆环图
- IE11中的第二个调用取消了第一个Fetch API调用
- 第一个字第一个字符第二个字第二个字符,一直到数组结束
- 为什么我的Mongoose DB模式之一可能是“;强制转换为未定义的“;当它的实例被放置在第二个模式中时
- 两个选项卡—第一个选项卡在第二个选项卡中处于调试模式时被卡住
- Ajax 构建关系按钮有效,用于显示引导模式的第二个按钮有效,但两者不能协同工作
- 如何将 jquery ui 小部件包含在第二个堆叠模式对话框中
- 我有一个模式打开第二个模式,如果打开然后关闭第二个模式,则无法关闭第一个模式
- 第二个zurb显示模式窗口-可能
- 引导模式问题(无法显示第二个模式)
- 我正在使用一种非常常见的名称空间模式,但希望对其进行扩展以传递第二个参数
- 模式窗口只会使用第一个元素打开,而不是第二个或第三个元素