Pedro Miguel Pimienta Morales Asked: 2020-03-12 09:11:58 +0800 CST 2020-03-12 09:11:58 +0800 CST 2020-03-12 09:11:58 +0800 CST 如何清除离子框架中的浏览历史 772 社区您好,我对$ionicHistory的使用有疑问,它是javascript/angular 扩展的导航扩展的一部分。 我想知道当我在两个菜单之一中时如何避免返回,这取决于进入的用户的角色。 我想解决以下问题 如果视图不是菜单视图(学生或教师),您只能点击后退按钮 在android的情况下,有一个返回按钮,无论是物理的还是数字的,如果它在两个菜单中的任何一个的视图或模板中,那么,当你返回时,你必须退出应用程序 防止它保存此历史记录中的路线或视图,以避免将来发生冲突。 javascript 1 Answers Voted Best Answer devconcept 2020-03-12T09:18:28+08:002020-03-12T09:18:28+08:00 您可以通过在学生或教师视图控制器中使用clearHistory()服务方法来解决您的问题$ionicHistory,您可以调用该方法,这将阻止您返回导航,因为该方法会删除除当前视图之外的历史记录(这就是您需要在学生或教师视图中进行)。 ... .controller('EstudianteCtrl', function($ionicHistory) { ... $ionicHistory.clearHistory(); }); 您也可以使用该方法nextViewOptions()并像这样禁用后退按钮 $ionicHistory.nextViewOptions({ disableBack: true // Esto pone en `null` la vista anterior }); 但这必须从前一个视图(“加载”视图)完成,因为它适用于在转换到它之前显示的下一个视图。 最后,要让您的应用程序在按下后退按钮时退出,您必须使用$ionicPlatformusing服务onHardwareBackButton,但您无意中遇到了问题: 如果您在备份时退出应用程序,您将面临用户无意中离开应用程序的风险,尤其是当您的导航中有许多深入视图时。返回...,返回...,返回...,退出...哎呀!!! 大多数移动应用程序实现了一种在到达主页视图时使用实际上已成为标准的后退按钮退出的方式。 您希望将用户保留在您的应用程序内部而不是应用程序之外;) 我看到的解决方案是使用两个后按,而不是一个显示敬酒,并显示类似“再次按退出”的消息 您可以使用可以在https://github.com/EddyVerbruggen/Toast-PhoneGap-Plugin找到的插件安装 toast cordova plugin add cordova-plugin-x-toast 然后在platformReady您设置事件的情况下(以确保插件已加载) $ionicPlatform.ready(function () { var closeApp = false; $ionicPlatform.onHardwareBackButton(function () { if ($state.is('mivistaraiz')) { if (closeApp === true) { navigator.app.exitApp(); } else { closeApp = true; $timeout(function () { closeApp = false; }, 2000); notifications.notify("Presione nuevamente para salir", "short", "bottom"); } } }); }); 您可以将超时更改为更长,但基本上它的作用是在 2 秒内按下返回(如果它没有再次显示吐司)退出,从而防止您的用户意外退出应用程序。
您可以通过在学生或教师视图控制器中使用
clearHistory()
服务方法来解决您的问题$ionicHistory
,您可以调用该方法,这将阻止您返回导航,因为该方法会删除除当前视图之外的历史记录(这就是您需要在学生或教师视图中进行)。您也可以使用该方法
nextViewOptions()
并像这样禁用后退按钮但这必须从前一个视图(“加载”视图)完成,因为它适用于在转换到它之前显示的下一个视图。
最后,要让您的应用程序在按下后退按钮时退出,您必须使用
$ionicPlatform
using服务onHardwareBackButton
,但您无意中遇到了问题:我看到的解决方案是使用两个后按,而不是一个显示敬酒,并显示类似“再次按退出”的消息
您可以使用可以在https://github.com/EddyVerbruggen/Toast-PhoneGap-Plugin找到的插件安装 toast
然后在
platformReady
您设置事件的情况下(以确保插件已加载)您可以将超时更改为更长,但基本上它的作用是在 2 秒内按下返回(如果它没有再次显示吐司)退出,从而防止您的用户意外退出应用程序。