I suspect this is a bug in the UI router for two reasons:
- I tried your code, and then tried to downgrade the Router user interface to 0.2.7. When I used 0.2.7, it worked.
Even if you continue to use version 0.2.8 of the UI Router, if you perform a state change through $ location instead of $ state, it works. Here is an example of using $ location instead of calling $ state.go:
$location.path('/servletContext/home/profile');
Although I use and recommend a UI Router (I canβt do without nested views), if you want to do any interceptions or redirects in the future when a user tries to go to certain pages, I recommend using $ location.path instead of $ state, for reasons which I described in a blog post
Change Previously, I did not try with the parameters, but simply tried with the code that you published (I created a second controller and assigned it to the state "root.home.profile") and it works. Instructions from the UI Router are here . But basically, if you set your URL in your state definition in the same way as with a UI router:
url: "/profile/:foo",
then in your call to $ location.path add the parameter to the path:
$location.path('/servletContext/home/profile/12');
and you can access 12 in the controller from
$stateParams.foo
source share