2015-12-16 57 views
1

我正在使用AngularJS创建单页面应用程序(SPA),并且想知道如何使用移动设备上的后退按钮进行最佳管理。使用后退按钮移动单页应用程序AngularJS

我创建了我的应用程序没有意见。一个js表单,一个html页面并且没有分支。信息显示使用ng-show和控制器,根据分配给它们的选项卡号帮助隐藏<div>标签。

我需要发生的是当后退按钮被按下时,应用程序不关闭。但是由于我没有向URL传递任何参数(因为URL永远不会改变),是否有一种非常好的方式可以为移动设备上的后退按钮提供功能?

下面是一个代码示例,但我还包含一个plunk以尝试更好地帮助阐明我的需求。

<div> 
<a href ng-click="toggle = !toggle">=</a> 
<ul ng-show="toggle"> 
    <li><a id="Home" ng-click="navi.selectTab(1); toggle = false">Home</a></li> 
    <li><a id="About" ng-click="navi.selectTab(2); toggle = false">About</a></li> 
    <li><a id="Contact" ng-click="navi.selectTab(3); toggle = false">Contact</a></li>  
</ul> 

<div ng-show="navi.isSelected(1)"> 

<div ng-show="navi.isSelected(2)">

<div ng-show="navi.isSelected(3)"> 

回答

1

如果您只是要防止离开SPA马上后退按钮,你可以使用window.onbeforeunload ()来警告用户后退按钮将退出应用程序。否则为了使您的应用程序成为有状态并允许用户使用后退/前进按钮,您将需要使用ui-router或angular-routes。

+0

好的。我可以使用这个作为一个选项。我试图避免使用ui路由器。 –

+0

我已经搞砸了这一点,甚至扩大了我的阅读,试图更好地理解它,但这个功能似乎并没有为我工作。 @帕 - 冬季 –

相关问题