UIInjector | @uirouter/core
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface UIInjector

An interface for getting values from dependency injection.

This is primarily used to get resolve values for a given token. An instance of the UIInjector can be retrieved from the current transition using Transition.injector.


If no resolve is found for a token, then it will delegate to the native injector. The native injector may be Angular 1 $injector, Angular 2 Injector, or a simple polyfill.

In Angular 2, the native injector might be the root Injector, or it might be a lazy loaded NgModule injector scoped to a lazy load state tree.

Hierarchy

  • UIInjector

Index

Methods

get

  • get(token: any): any
  • get<T>(token: any): T
  • Gets a value from the injector.

    For a given token, returns the value from the injector that matches the token. If the token is for a resolve that has not yet been fetched, this throws an error.

    Example:

    var myResolve = injector.get('myResolve');

    ng1 Example:

    // Fetch StateService
    injector.get('$state').go('home');

    ng2 Example:

    import {StateService} from "ui-router-ng2";
    // Fetch StateService
    injector.get(StateService).go('home');

    Typescript Example:

    var stringArray = injector.get<string[]>('myStringArray');

    NOWAIT policy

    When using ResolvePolicy.async === NOWAIT, the value returned from get() is a promise for the result. The promise is not automatically unwrapped.

    Parameters

    • token: any

      the key for the value to get. May be a string, a class, or any arbitrary object.

    Returns any

    the Dependency Injection value that matches the token

  • Gets a value as type T (generics parameter)

    Type parameters

    • T

    Parameters

    • token: any

    Returns T

getAsync

  • getAsync(token: any): Promise<any>
  • getAsync<T>(token: any): Promise<T>
  • Asynchronously gets a value from the injector

    For a given token, returns a promise for the value from the injector that matches the token. If the token is for a resolve that has not yet been fetched, this triggers the resolve to load.

    Example:

    return injector.getAsync('myResolve').then(value => {
      if (value === 'declined') return false;
    });

    Parameters

    • token: any

      the key for the value to get. May be a string or arbitrary object.

    Returns Promise<any>

    a Promise for the Dependency Injection value that matches the token

  • Asynchronously gets a value as type T (generics parameter)

    Type parameters

    • T

    Parameters

    • token: any

    Returns Promise<T>

getNative

  • getNative(token: any): any
  • getNative<T>(token: any): T
  • Gets a value from the native injector

    Returns a value from the native injector, bypassing anything in the ResolveContext.

    Example:

    let someThing = injector.getNative(SomeToken);

    Parameters

    • token: any

      the key for the value to get. May be a string or arbitrary object.

    Returns any

    the Dependency Injection value that matches the token

  • Type parameters

    • T

    Parameters

    • token: any

    Returns T

Generated using TypeDoc