Różnica między $ state.transitionTo () a $ state.go () w Angular ui-router


Odpowiedzi:


151

Czy masz na myśli router AngularUI ? Jeśli tak, wiki określa różnice :

$ state.go (to [, toParams] [, opcje])

Zwraca Obietnicę reprezentującą stan przejścia.

Wygodna metoda przejścia do nowego stanu. $state.gowywołuje $state.transitionTowewnętrznie, ale automatycznie ustawia opcje na { location: true, inherit: true, relative: $state.$current, notify: true }. Pozwala to na łatwe użycie wartości bezwzględnej lub względnej względem ścieżki i określenie tylko parametrów, które chcesz zaktualizować (pozwalając nieokreślonym parametrom dziedziczyć z bieżącego stanu).


$ state.transitionTo (to, toParams [, opcje])

Zwraca Obietnicę reprezentującą stan przejścia.

Niskopoziomowa metoda przejścia do nowego stanu. $state.go()używa transitionTowewnętrznie. $state.go()jest zalecane w większości sytuacji.


1
Znalazłem więcej potrzebnych informacji z podanych przez Ciebie linków. Dziękuję bardzo Brandon :)
Barcelona

1
Najwyraźniej wartości wprowadzone w widoku nie są usuwane, jeśli ponownie wyzwolę widok przy użyciu przejściaTo. W każdym razie możemy wymusić odświeżenie wartości / js / view? PS - Strona przeładowania nie jest opcją, jak widok jest nakładka
Swanidhi

10

$state.transitionTotranzyt do nowego stanu. W większości przypadków nie musisz go używać, może wolisz$state.go .

Pobiera kilka parametrów w optionsobiekcie:

  • location: Jeśli truezaktualizuje adres URL w pasku adresu, jeśli falsenie. Jeśli string "replace", zaktualizuje adres URL, a także zastąpi ostatni rekord historii.
  • inherit: Jeśli truebędzie dziedziczyć parametry adresu URL z bieżącego adresu URL.
  • relative (stateObject, default null) : Podczas przechodzenia ze ścieżką względną (np. '^'), określa, od którego stanu ma być względny.
  • notify: Jeśli true, będzie transmitować $stateChangeStarti $stateChangeSuccesswydarzenia.
  • reload: Jeśli truewymusi przejście, nawet jeśli stan lub parametry nie uległy zmianie, czyli przeładowanie tego samego stanu.

$state.goto rodzaj skrótu, który wywołuje $state.transitionToz domyślnymi opcjami:

  • location: true
  • inherit: true
  • relative: $state.$current
  • notify: true
  • reload: false

Jest to wygodniejsze, ponieważ składnia jest prostsza. Możesz to nazwać tylko nazwą stanu.

$state.go('home');
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.