AngularJS UI-Router: obtenha o URL absoluto do estado com os parâmetros
Eu queria poder alterar o URL do endereço sem alterar o estado, para evitar a renderização novamente. Na minha pesquisa,ui-router
atualmente não fornece isso, mas$location.path
de anuglar faz.
Então, naturalmente, eu queria usar$state.get(stateName)
para acessar o URL do estado, para não digitar manualmente o URL.
Eu tenho dois problemas:
$state.get(stateName)
retorna apenas o caminho relativo. Como posso obter o caminho absoluto?Ele também retorna a definição do estado, com os parâmetros indefinidos. Como posso obter o URL com o parâmetro no lugar?Por exemplo, se eu tiver um estado chamadouser.home.view
comuser.home
, Eu tenho meus estados definidos como
'user': {
abstract: true,
url: '^/users/'
},
'user.home': {
url: ''
},
'user.home.view': {
url: ':id/'
}
Então agora,$state.get(user.home.view).url
retorna:id/
. Como posso obter o URL completo (ou seja,/users/5/
)?