Kousha Kousha - 1 year ago 509
AngularJS Question

AngularJS UI-Router : Get the absolute URL of the state with the parameters

I wanted to be able to change the address' URL without changing the state, as to prevent rerendering. From my search,

currently does not provide this, but
from anuglar does.

So, naturally, I wanted to use
to get to the state's URL, so that I don't manually type the URL.

I have two problems:

  1. $state.get(stateName)
    returns the relative path only. How can I get the absolute path?

  2. It also returns the state's definition, with the parameters undefined. How can I get the URL with the parameter in place?

For instance, if I have a state called
, I have my states defined as

'user': {
abstract: true,
url: '^/users/'
'user.home': {
url: ''
'user.home.view': {
url: ':id/'

So right now,
. How can I get the full URL (i.e.,

Answer Source

You should use $state.href().

  1. To get the absolute URL you can then use:

    $state.href('user.home.view', {}, {absolute: true});

  2. To get the URL with the parameters in place you need to add them as the second argument

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download