3

When I go to the url /blog/post/edit, 2 xhr requests trigger, as you can see in the image below.

enter image description here

This is how I have defined the routes:

$stateProvider
    .state('blog', {
        url: '/blog',
        templateUrl: '/blog'
    })
    .state('blog.post', {
        url: '/post',
        template: '<ui-view></ui-view>',
        abstract: true
    })
    .state('blog.post.edit', {
        url: '/edit',
        templateUrl: '/blog/post/edit'
    });

Can anyone help me figuring out why this is happening?

ptf
  • 3,210
  • 8
  • 34
  • 67
  • 1
    ;) This is a feature ;) it is not a bug. http://stackoverflow.com/a/20558850/1679310. It could be maybe weird when firstly used, but at the end, this *(I'd say)* **the biggest advantage of this tool!** – Radim Köhler May 23 '14 at 08:54
  • Oh, I think I get it. I should really only do this when both parent and children are visible at the same time. I was just using it to organize my routes ;) You need to add an answer for me to accept it. – ptf May 23 '14 at 08:59

1 Answers1

1

As quickly discussed in comments, the nature of the ui-router is to work this way. To show nested states with their parent states

The best way how to think about it is like a collapsed TreeView:

  • if we want to see a leaf (or any not root node) we have to see/load its parent, grand-parent ... and the root as well.
  • but once we want to see a sibling, we do not have to reload all the parent-to-root structure... is is already in play

And that's how the ui-router was basically designed.

Radim Köhler
  • 122,561
  • 47
  • 239
  • 335