angular-middleware icon indicating copy to clipboard operation
angular-middleware copied to clipboard

[ui-router] Redirect to child view infinite loop

Open hjylewis opened this issue 9 years ago • 3 comments

One might want to set up a state to redirect to a sub-state using middleware. Say, /docs always redirects to /docs/getting-started.

When a simple this.redirectTo('parent.child') middleware is written and called when routing to the parent state, it results in an infinite loop.

Example: (caution: crashes page) https://plnkr.co/edit/syZdLJQ2I8ZomP7T9ndA?p=preview

In this example, there are state one with sub-states, one.one and one.two and state two. Presently, the only middleware used is one that simply calls this.next().

If one changes the middleware at the two lines commented with // Change to 'redirect' middleware to the redirect middleware, one expects that clicking the one and two links redirect to sub-state one.one. The two link performs as expected, but clicking the one link causes an infinite loop.

hjylewis avatar Aug 03 '16 14:08 hjylewis

@hjylewis - After merging your pull request and reviewing this issue on the plunkr link you provided, it looks like this is no longer an issue. Would you please confirm whether or not this is still an open issue so that I can adjust the ticket accordingly? Thank you.

karlhepler avatar Aug 08 '16 20:08 karlhepler

@oldtimeguitarguy The issue is still present in the plunkr link for me. Strange.. Did you make sure to change the lines commented with // Change to 'redirect' middleware?

My pull request added functionality unrelated to this issue.

hjylewis avatar Aug 09 '16 02:08 hjylewis

This one is pretty tricky. I worked on it a bit tonight and didn't really get anywhere.

karlhepler avatar Jan 27 '17 06:01 karlhepler