gpt4 book ai didi

javascript - ionic 框架串联两个弹出窗口

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:46:50 24 4
gpt4 key购买 nike

我有一个 ionic 应用程序,用户点击一个按钮,然后出现一个弹出窗口,然后用户点击弹出窗口中的一个按钮,另一个按钮出现。 这在浏览器中运行良好但是当我将它部署到 Android 设备时,在第二个弹出窗口关闭后页面卡住并且我无法再点击页面上的主按钮。

这是一个简短但完整的应用程序来演示我的问题。

<!DOCTYPE html>
<html>
<head>
<title>App</title>
<link href="lib/ionic/css/ionic.css" rel="stylesheet">
<!-- version 1.0.0-beta.9 -->
<script src="lib/ionic/js/ionic.bundle.js"></script>
<script>
angular.module("app", ["ionic"])
.controller("controller", function ($scope, $ionicPopup, $timeout) {
var popup1;

$scope.popup1 = function () {
popup1 = $ionicPopup.show({
template: '<button ng-click="popup2()">popup2</button>',
title: 'popup1',
scope: $scope
});
}

$scope.popup2 = function () {
$ionicPopup.alert({
title: "Popup 2"
}).then(function () {
/*
$timeout(function () {
popup1.close();
});
*/

popup1.close();
});
}
});
</script>
</head>
<body ng-app="app" ng-controller="controller">
<button ng-click="popup1()">popup1</button>
</body>
</html>

最佳答案

这不起作用的原因可能是第二个弹出窗口在第一个弹出窗口关闭之前打开,这可能会破坏 Ionic 对第一个弹出窗口存在的了解。如果您在打开第二个弹出窗口之前关闭第一个弹出窗口,应该可以解决问题。

我看到几个选项:

<强>1。以 Ionic 方式创建按钮并使用 onTap 方法

$scope.popup1 = $ionicPopup.show({
template: 'Your template here',
title: 'popup1',
scope: $scope,
buttons: [
{
text: 'Popup2',
onTap: function (e) {
$scope.popup1.close();
return $scope.popup2();
}
}
]
});

<强>2。在 popup2()

中首先关闭 popup1
$scope.popup2 = function () {
$scope.popup1.close();

// Open popup 2
}

<强>3。超时打开popup2

如果上述方法不起作用,请在 popup2 中的代码周围设置一个超时时间,让 Ionic 有时间关闭第一个弹出窗口。

$scope.popup2 = function () {
// Move to the bottom of the queue to let Ionic close the first popup
$timeout( function () {
// Load popup2
});
};

关于javascript - ionic 框架串联两个弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25310234/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com