2015-12-16 81 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

我已經搞砸了這一點,甚至擴大了我的閱讀,試圖更好地理解它,但這個功能似乎並沒有爲我工作。 @帕 - 冬季 –

相關問題