Search code examples
javascriptangularjsangular-ui-routerurl-routingangular-ui

Difference between $state.transitionTo() and $state.go() in Angular ui-router


In AngularJS, I see sometimes we use $state.transitionTo() and sometimes we use $state.go(). Can anyone tell me how they differ and when one should be used over the other?


Solution

  • Are you referring to the AngularUI Router? If so, the wiki specifies the differences:

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

    Returns a Promise representing the state of the transition.

    Convenience method for transitioning to a new state. $state.go calls $state.transitionTo internally but automatically sets options to { location: true, inherit: true, relative: $state.$current, notify: true }. This allows you to easily use an absolute or relative to path and specify only the parameters you'd like to update (while letting unspecified parameters inherit from the current state).


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

    Returns a Promise representing the state of the transition.

    Low-level method for transitioning to a new state. $state.go() uses transitionTo internally. $state.go() is recommended in most situations.