Dans AngularJS, je vois que parfois nous utilisons $state.transitionTo()
et parfois nous utilisons $state.go()
. Quelqu'un peut-il me dire en quoi ils diffèrent et quand l'un doit être utilisé par rapport à l'autre?
Dans AngularJS, je vois que parfois nous utilisons $state.transitionTo()
et parfois nous utilisons $state.go()
. Quelqu'un peut-il me dire en quoi ils diffèrent et quand l'un doit être utilisé par rapport à l'autre?
Faites-vous référence au routeur AngularUI ? Si tel est le cas, le wiki spécifie les différences :
$ state.go (vers [, toParams] [, options])
Renvoie une promesse représentant l'état de la transition.
Méthode pratique pour passer à un nouvel état.
$state.go
appelle en$state.transitionTo
interne mais définit automatiquement les options sur{ location: true, inherit: true, relative: $state.$current, notify: true }
. Cela vous permet d'utiliser facilement un chemin absolu ou relatif et de spécifier uniquement les paramètres que vous souhaitez mettre à jour (tout en laissant des paramètres non spécifiés hériter de l'état actuel).
$ state.transitionTo (vers, toParams [, options])
Renvoie une promesse représentant l'état de la transition.
Méthode de bas niveau pour passer à un nouvel état.
$state.go()
utilise entransitionTo
interne.$state.go()
est recommandé dans la plupart des situations.
$state.transitionTo
transite vers un nouvel état. Dans la plupart des cas, vous n'êtes pas obligé de l'utiliser, vous préférerez peut-être$state.go
.Il prend certains paramètres dans un
options
objet:location
: Sitrue
mettra à jour l'url dans la barre d'adresse, sinonfalse
. Si chaîne"replace"
, mettra à jour l'URL et remplacera également le dernier enregistrement d'historique.inherit
: Iftrue
héritera des paramètres d'url de l'url actuelle.relative
(stateObject, par défautnull
) : Lors de la transition avec un chemin relatif (par exemple '^'), définit de quel état être relatif.notify
: Sitrue
, diffusera$stateChangeStart
et$stateChangeSuccess
événements.reload
: Iftrue
forcera la transition même si l'état ou les paramètres n'ont pas changé, c'est-à-dire un rechargement du même état.$state.go
est une sorte de raccourci qui appelle$state.transitionTo
avec les options par défaut:location
:true
inherit
:true
relative
:$state.$current
notify
:true
reload
:false
C'est plus pratique car la synthax est plus simple. Vous ne pouvez l'appeler qu'avec un nom d'état.
la source