我已经写了一个函数,以打开"单击设备"后的离子弹出窗口,问题是在我多次单击设备后立即创建了多次弹出窗口并保留在DOM中。我如何关闭以前的弹出窗口并再次创建新弹出窗口?
应用出口出口弹出:
$rootScope.exitApp = function () {
exitpopup = $ionicPopup.show({
templateUrl: 'templates/exitApp1.html'
});
exitpopup.then(function (res) {
console.log(res);
});
return false;
};
寄存器函数:
$ionicPlatform.registerBackButtonAction(function (e) {
// lots of code
if ($ionicHistory.backView())
$rootScope.exitApp ();
});
我想念什么吗?
希望以下功能对您有帮助。按下按钮按&检查标志是否为错误,无需再次显示对话框。如果用户按取消再次更改标志值。
app.run(function($ionicPlatform,$rootScope,$ionicPopup)
{
$rootScope.is_dialog_in_screen = false;
$ionicPlatform.ready(function()
{
if(window.cordova && window.cordova.plugins.Keyboard)
{
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
cordova.plugins.Keyboard.disableScroll(true);
}
if(window.StatusBar)
{
StatusBar.styleDefault();
}
});
$ionicPlatform.registerBackButtonAction(function (event)
{
event.preventDefault();
if($rootScope.is_dialog_in_screen==false)
{
var confirmPopup = $ionicPopup.confirm({
title: 'Quit.?',
template: 'Really want to exit?',
cancelText: 'cancel',
okText: 'ok'
})
.then(function(res)
{
if (res)
{
alert("Exit app logic goes here");
}
else
{
$rootScope.is_dialog_in_screen = false;
}
});
$rootScope.is_dialog_in_screen = true;
}
}, 999);
})