angularjs получает предыдущий маршрут
{{header}}
<a ng-href="{{back.url}}">{{back.text}}</a>
В моем конфиге модуля
$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'};
}
Как вы можете видеть в моих контроллерах, я жестко закодировал URL-адрес и текст кнопки возврата (на самом деле я нетекст нужен как изображение). Таким образом, в некоторых случаях я обнаружил, что кнопка «Назад» перемещается неправильно. Я не могу использоватьhistory.back()
Потому что моя кнопка «Назад» меняется на ссылку меню в домашнем представлении.
Итак, мой вопрос: как мне получить предыдущий путь маршрута в контроллерах или лучший способ добиться этого?
Я создалPlunker демонстрация моей проблемы. Пожалуйста, проверьте это.