A hierarchy may have more abstract nested states. This example shows this in action, the definition of these states could be:
$stateProvider .state('main', { url: "", abstract: true, templateUrl: 'tpl.main.html', }) .state('main.middle', { url: "", abstract: true, templateUrl: 'tpl.middle.html', }) .state('main.middle.alpha', { url: "/alpha", templateUrl: 'tpl.leaf.html', controller: function ($scope, $state){ $scope.state = $state.current; }, })
Check out the plunker . As we can see, the root (main) and its child (middle) do not use the url at all ... but they could ..
source share