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?

2
  • 1
    ;) This is a feature ;) it is not a bug. 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! Commented May 23, 2014 at 8: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. Commented May 23, 2014 at 8:59

1 Answer 1

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.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.