В angular-ui-router у штатов нет необходимости иметь URL.См. этот ответ .
Это прекрасно работает при нажатии через пользовательский интерфейс, однако, похоже, что обратная навигация нарушена таким образом:
http://plnkr.co/edit/kr7hyjc1q8i15vcSG9RR?p=preview
app.config(function($stateProvider, $urlRouterProvider, $locationProvider) {
$locationProvider.html5Mode({
enabled: true,
requireBase: false,
}).hashPrefix('!');
$stateProvider.state({
name: 'home',
controller: function($scope) { },
template: '<h1>home state loaded</h1> ' +
'<div ui-view></div>'
});
$stateProvider.state({
name: 'home.foo',
controller: function() { },
template: '<h1>foo state loaded</h1> ' +
'<div ui-view></div>'
});
});
Сделайте некоторые переходы состояний, затем щелкните правой кнопкой мыши в окне и выберите «назад» в контекстном меню.Вместо возврата назад на одно состояние фрейм становится пустым.
Есть ли способ иметь состояния без связанных URL-адресов, но с работающим pushState / history?