source

Angular ui-router의 $state.transitionTo()와 $state.go()의 차이

manysource 2023. 3. 11. 09:13

Angular ui-router의 $state.transitionTo()와 $state.go()의 차이

AngularJS에서는 가끔 이런 걸 쓰는데$state.transitionTo()그리고 가끔 우리는$state.go()서로 어떻게 다른지, 언제 사용해야 하는지 말씀해 주실 수 있나요?

앵글을 말하는 건가요?UI 라우터?이 경우 Wiki는 다음 차이를 지정합니다.

$state.go([, toParams] [, 옵션]으로)

이행 상태를 나타내는 Promise를 반환합니다.

새로운 상태로 이행하기 위한 편리한 방법. $state.go$state.transitionTo내부적으로만 자동으로 옵션을 설정합니다.{ location: true, inherit: true, relative: $state.$current, notify: true }그러면 절대 또는 상대 경로를 쉽게 사용하고 업데이트할 매개 변수만 지정할 수 있습니다(지정되지 않은 매개 변수는 현재 상태에서 상속됨).


$state.transition To(to, to Params [, 옵션]으로)

이행 상태를 나타내는 Promise를 반환합니다.

새로운 상태로 이행하기 위한 낮은 수준의 방법. $state.go()사용하다transitionTo내부적으로 $state.go()는 대부분의 상황에서 권장됩니다.

$state.transitionTo 새로운 상태로 이행하다대부분의 경우 사용할 필요가 없습니다.사용하는 것이 좋습니다.

이 방법에는 몇 가지 파라미터가 필요합니다.options오브젝트:

  • location: 만약true로케이션 바의 URL이 갱신됩니다.false하지 않을 것이다.If 문자열"replace"는 URL을 갱신하고 마지막 이력 레코드도 치환합니다.
  • inherit: 만약true는 현재 URL에서 URL 파라미터를 상속합니다.
  • relative (stateObject, 기본값):상대 경로(예: '^')로 전환할 때 상대 상태를 정의합니다.
  • notify: 만약true, 브로드캐스트합니다.$stateChangeStart그리고.$stateChangeSuccess이벤트입니다.
  • reload: 만약true상태 또는 파라미터가 변경되지 않은 경우에도 강제로 이행합니다(같은 상태의 새로고침이라고도 함).

$state.go 숏컷의 일종으로$state.transitionTo디폴트 옵션:

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

싱탁스가 심플하기 때문에 편리합니다.스테이트 네임만으로 호출할 수 있습니다.

$state.go('home');

언급URL : https://stackoverflow.com/questions/21105528/difference-between-state-transitionto-and-state-go-in-angular-ui-router