An event broadcast on $rootScope
if a transition is cancelled.
Additional arguments to the event handler are provided:
toState
: the Transition Target statetoParams
: the Transition Target ParamsfromState
: the state the transition is coming fromfromParams
: the parameters from the state the transition is coming fromoptions
: any Transition Options$transition$
: the Transition that was cancelledAn event broadcast on $rootScope
when an error occurs during transition.
It's important to note that if you have any errors in your resolve functions (javascript errors, non-existent services, etc) they will not throw traditionally. You must listen for this $stateChangeError event to catch ALL errors.
Additional arguments to the event handler are provided:
toState
: the Transition Target statetoParams
: the Transition Target ParamsfromState
: the state the transition is coming fromfromParams
: the parameters from the state the transition is coming fromerror
: The reason the transition errored.options
: any Transition Options$transition$
: the Transition that erroredAn event broadcast on $rootScope
when the state transition begins.
You can use event.preventDefault()
to prevent the transition from happening and then the transition promise will be
rejected with a 'transition prevented'
value.
Additional arguments to the event handler are provided:
toState
: the Transition Target statetoParams
: the Transition Target ParamsfromState
: the state the transition is coming fromfromParams
: the parameters from the state the transition is coming fromoptions
: any Transition Options$transition$
: the Transition$rootScope.$on('$stateChangeStart', function(event, transition) {
event.preventDefault();
// transitionTo() promise will be rejected with
// a 'transition prevented' error
})
An event broadcast on $rootScope
once the state transition is complete.
Additional arguments to the event handler are provided:
toState
: the Transition Target statetoParams
: the Transition Target ParamsfromState
: the state the transition is coming fromfromParams
: the parameters from the state the transition is coming fromoptions
: any Transition Options$transition$
: the Transition that just succeededAn event broadcast on $rootScope
when a requested state cannot be found using the provided state name.
The event is broadcast allowing any handlers a single chance to deal with the error (usually by
lazy-loading the unfound state). A TargetState
object is passed to the listener handler,
you can see its properties in the example. You can use event.preventDefault()
to abort the
transition and the promise returned from transitionTo()
will be rejected with a
'transition aborted'
error.
Additional arguments to the event handler are provided:
unfoundState
Unfound State information. Contains: to, toParams, options
properties.fromState
: the state the transition is coming fromfromParams
: the parameters from the state the transition is coming fromoptions
: any Transition Options// somewhere, assume lazy.state has not been defined
$state.go("lazy.state", { a: 1, b: 2 }, { inherit: false });
// somewhere else
$scope.$on('$stateNotFound', function(event, transition) {
function(event, unfoundState, fromState, fromParams){
console.log(unfoundState.to); // "lazy.state"
console.log(unfoundState.toParams); // {a:1, b:2}
console.log(unfoundState.options); // {inherit:false} + default options
});
Generated using TypeDoc
Legacy state events
Polyfill implementation of the UI-Router 0.2.x state events.
The 0.2.x state events are deprecated. We recommend moving to Transition Hooks instead, as they provide much more flexibility, support async, and provide the context (the Transition, etc) necessary to implement meaningful application behaviors.
To enable these state events, include the
stateEvents.js
file in your project, e.g.,<script src="stateEvents.js"></script>
and also make sure you depend on the
ui.router.state.events
angular module, e.g.,angular.module("myApplication", ['ui.router', 'ui.router.state.events']