hooks | @uirouter/angularjs

Module hooks



TRANSITION_TOKENS: (string | Transition)[] = ['$transition$', Transition]
isTransition: function = inArray(TRANSITION_TOKENS)

Type declaration

    • (obj: any): boolean
    • Parameters

      • obj any

      Returns boolean

onEnterHook: TransitionStateHookFn = makeEnterExitRetainHook('onEnter')

The TransitionStateHookFn for onEnter

The TransitionStateHookFn for onEnter

When the state is being entered, the state's .onEnter function is invoked.

Registered using transitionService.onEnter({ entering: (state) => !!state.onEnter }, onEnterHook);

See: IHookRegistry.onEnter

onExitHook: TransitionStateHookFn = makeEnterExitRetainHook('onExit')

The TransitionStateHookFn for onExit

The TransitionStateHookFn for onExit

When the state is being exited, the state's .onExit function is invoked.

Registered using transitionService.onExit({ exiting: (state) => !!state.onExit }, onExitHook);

See: IHookRegistry.onExit

onRetainHook: TransitionStateHookFn = makeEnterExitRetainHook('onRetain')

The TransitionStateHookFn for onRetain

The TransitionStateHookFn for onRetain

When the state was already entered, and is not being exited or re-entered, the state's .onRetain function is invoked.

Registered using transitionService.onRetain({ retained: (state) => !!state.onRetain }, onRetainHook);

See: IHookRegistry.onRetain


  • A TransitionHookFn which activates the new views when a transition is successful.

    Registered using transitionService.onSuccess({}, activateViews);

    After a transition is complete, this hook deactivates the old views from the previous state, and activates the new views from the destination state.

    See ViewService


    Returns void

  • A TransitionHookFn that performs lazy loading

    When entering a state "abc" which has a lazyLoad function defined:

    • Invoke the lazyLoad function (unless it is already in process)
      • Flag the hook function as "in process"
      • The function should return a promise (that resolves when lazy loading is complete)
    • Wait for the promise to settle
      • If the promise resolves to a LazyLoadResult, then register those states
      • Flag the hook function as "not in process"
    • If the hook was successful
      • Remove the lazyLoad function from the state declaration
    • If all the hooks were successful
      • Retry the transition (by returning a TargetState)
    .state('abc', {
      component: 'fooComponent',
      lazyLoad: () => System.import('./fooComponent')

    See StateDeclaration.lazyLoad


    Returns Promise<TargetState>

  • resolveRemaining(trans: Transition): Promise<any>
  • A TransitionHookFn which resolves any dynamically added (LAZY or EAGER) Resolvables.

Generated using TypeDoc