Get previous location in Angularjs ui-router
Solution 1
Use $state.href
to get the url:
$rootScope.$on('$stateChangeSuccess', function (ev, to, toParams, from, fromParams) {
// $state.href(from, fromParams)
});
You can also pass options as a third paramerer.
Read the Docs for more information.
Solution 2
Not much differently, but you could do:
$rootScope.$on('$routeChangeStart', function (event, next, current) {
});
And just store the current. The function there is a lot less to deal with than $routeChangesuccess
.
HP.
Updated on June 30, 2022Comments
-
HP. almost 2 years
I know we can use
fromState
andfromParams
in the$stateChangeSuccess
to get all information about previous location. Like said here:Angular - ui-router get previous state
$rootScope.$on('$stateChangeSuccess', function (ev, to, toParams, from, fromParams) { });
But is there nice way to parse it into the url / location though? For example:
State: /page/:id/paragraph/:line
Params: id and line, etc..
What I want:
/page/3/paragraph/5 ...
I mean this could get messy with bunch of params. Plus
Angularjs ui-router
could also have{{ id }}
as params too instead of:id
. Isn't there a function to do this already or I have to use RegEx? And if so, what is the RegEx string to use?Thanks.