UIInjector | angular-ui-router
Options
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

Implemented by

Index

Methods

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

  • get<T>(token: any): T
  • Gets a value as type T (generics parameter)

  • 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(token: any): Promise<any>
  • Asynchronously gets a value from the injector

  • getAsync<T>(token: any): Promise<T>
  • Asynchronously gets a value as type T (generics parameter)

  • 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(token: any): any
  • Gets a value from the native injector

  • 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