En AngularJS, veo que a veces usamos $state.transitionTo()
y a veces usamos $state.go()
. ¿Alguien puede decirme en qué se diferencian y cuándo debe usarse uno sobre el otro?
En AngularJS, veo que a veces usamos $state.transitionTo()
y a veces usamos $state.go()
. ¿Alguien puede decirme en qué se diferencian y cuándo debe usarse uno sobre el otro?
¿Te refieres al enrutador AngularUI ? Si es así, la wiki especifica las diferencias :
$ state.go (a [, toParams] [, opciones])
Devuelve una promesa que representa el estado de la transición.
Método de conveniencia para la transición a un nuevo estado.
$state.go
llama$state.transitionTo
internamente, pero establece automáticamente las opciones en{ location: true, inherit: true, relative: $state.$current, notify: true }
. Esto le permite usar fácilmente una ruta absoluta o relativa a y especificar solo los parámetros que le gustaría actualizar (mientras permite que los parámetros no especificados hereden del estado actual).
$ state.transitionTo (to, toParams [, options])
Devuelve una promesa que representa el estado de la transición.
Método de bajo nivel para la transición a un nuevo estado.
$state.go()
utilizatransitionTo
internamente.$state.go()
se recomienda en la mayoría de situaciones.
$state.transitionTo
transitar a un nuevo estado. En la mayoría de los casos, no es necesario que lo use, es posible que lo prefiera$state.go
.Toma algunos parámetros en un
options
objeto:location
: Sitrue
actualizará la URL en la barra de ubicación, sifalse
no. Si es string"replace"
, actualizará la URL y también reemplazará el último registro del historial.inherit
: Sitrue
heredará los parámetros de la URL de la URL actual.relative
(stateObject, predeterminadonull
) : al realizar la transición con una ruta relativa (por ejemplo, '^'), define de qué estado será relativo.notify
: Sitrue
, retransmisiones$stateChangeStart
y$stateChangeSuccess
eventos.reload
: Sitrue
forzará la transición incluso si el estado o los parámetros no han cambiado, también conocido como una recarga del mismo estado.$state.go
es una especie de atajo que llama$state.transitionTo
con opciones predeterminadas:location
:true
inherit
:true
relative
:$state.$current
notify
:true
reload
:false
Es más conveniente ya que el Synthax es más simple. Puede llamarlo solo con un nombre de estado.
fuente