Well, the documentation instructions are correct. It may not be clear to anyone, but true. He just says:
1) Inheritance url: "..url..." is absent. This means that the child state will not have a url with the same value as the parent . Both values ββare independent.
2) There is an implicit url concatenation. The state of the child url (in the address bar, not in the setting) is built from all of its url ancestors.
So the documentation is correct . This example is for a game . He shows what we know. The child has another url parameter and then parent. The state of the url child in the address bar is built from its url parameter - prefixed with parent (s) url
// NON abstract .state('parent1', { abstract: false, url: "/parent1", templateUrl: 'tpl.html', }) .state('parent1.child1', { url: "/child1", templateUrl: 'tpl.html', }) // abstract .state('parent2', { abstract: true, url: "/parent2", templateUrl: 'tpl.html', }) .state('parent2.child2', { url: "/child2", templateUrl: 'tpl.html', })
url in href:
non abstract <a href="#/parent1"> <a href="#/parent1/child1"> abstract <a href="#/parent2"> - cannot navigate there - is abstract <a href="#/parent2/child2">
source share