AngularJS UI-Router : Obtenir l'URL absolue de l'état avec les paramètres

Je voulais être en mesure de modifier l'adresse URL sans modification de l'état, comme pour prévenir de nouveau rendu. De ma recherche, ui-router ne prévoit pas actuellement, mais $location.path de anuglar n'.

Alors, naturellement, j'ai voulu utiliser $state.get(stateName) pour arriver à l'état de l'URL, de sorte que je n'ai pas manuellement, tapez l'URL.

J'ai deux problèmes:

  1. $state.get(stateName) retourne le chemin relatif seulement. Comment puis-je obtenir le chemin absolu?
  2. Il renvoie également à l'état de la définition, avec les paramètres non définis. Comment puis-je obtenir l'URL avec le paramètre en place?

Par exemple, si j'ai un état qui est appelé user.home.view avec user.home, j'ai mes états définis comme

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

Donc, pour l'instant, $state.get(user.home.view).url retourne :id/. Comment puis-je obtenir l'URL complète (c'est à dire, /users/5/)?

InformationsquelleAutor Kousha | 2014-07-01