angularjs uzyskując poprzednią ścieżkę trasy

<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>

W moim module konfiguracyjnym

  $routeProvider.
  when('/', {
    controller:HomeCtrl,
    templateUrl:'home.html'
  }).
  when('/menu', {
    controller:MenuCtrl,
    templateUrl:'menu.html'
  }).
  when('/items', {
    controller:ItemsCtrl,
    templateUrl:'items.html'
  }).
  otherwise({
    redirectto:'/'
  });

Kontrolery

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'};
}

Jak widać w moich kontrolerach mam zakodowany adres URL przycisku powrotu i tekst (w rzeczywistości nie potrzebuję tekstu jako obrazu). W ten sposób w niektórych przypadkach znalazłem niepoprawny przycisk nawigacyjny. Nie mogę użyćhistory.back() bo mój przycisk wstecz zmienia się na link menu w widoku głównym.

Więc moje pytanie brzmi: jak uzyskać poprzednią ścieżkę trasy w kontrolerach lub czy jest lepszy sposób na osiągnięcie tego?

StworzyłemPlunker demonstracja mojego problemu. Sprawdź to.

questionAnswers(8)

yourAnswerToTheQuestion