<h1>{{header}}</h1>
<!-- This Back button has multiple option -->
<!-- In home page it will show menu -->
<!-- In other views it will show back link -->
<a ng-href="{{back.url}}">{{back.text}}</a>
<div ng-view></div>
在我的模塊配置angularjs越來越以前的路線路徑
$routeProvider.
when('/', {
controller:HomeCtrl,
templateUrl:'home.html'
}).
when('/menu', {
controller:MenuCtrl,
templateUrl:'menu.html'
}).
when('/items', {
controller:ItemsCtrl,
templateUrl:'items.html'
}).
otherwise({
redirectto:'/'
});
控制器
function HomeCtrl($scope, $rootScope){
$rootScope.header = "Home";
$rootScope.back = {url:'#/menu', text:'Menu'};
}
function MenuCtrl($scope, $rootScope){
$rootScope.header = "Menu";
$rootScope.back = {url:'#/', text:'Back'};
}
function ItemsCtrl($scope, $rootScope){
$rootScope.header = "Items";
$rootScope.back = {url:'#/', text:'Back'};
}
正如你可以在我的控制器看,我硬編碼的返回按鈕鏈接和文本(其實我不需要使用文字作爲使用圖像)。通過這種方式,我發現後退按鈕在某些情況下導航不正確。我無法使用history.back()
因爲我的後退按鈕變爲主頁視圖中的菜單鏈接。
所以我的問題是我如何獲得控制器中的以前的路徑路徑或更好的方式來實現這一目標?
我創建了一個Plunker演示我的問題。請檢查。
爲什麼當AngularJS默認提供深層鏈接/後退按鈕功能時,您需要手動處理返回按鈕導航(例如:http://wordcharconvertor.rogtopia.com/)? – Stewie 2013-03-02 14:51:45
@stewie對不起,我是angularjs的新手,我不太明白你的意思。你能否以更好的解釋提供更好的例子?請注意,我的後退鏈接導航的行爲與瀏覽器的後退按鈕稍有不同 – Gihan 2013-03-02 15:11:28
您應該按照@MarkRajcok的答案。 – Stewie 2013-03-03 01:00:47