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

- UIInjectorImpl

## Index

### Methods

- get
- getAsync
- getNative

## 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

  - Defined in interface.ts:68

- Gets a value as type `T` (generics parameter)

  #### Type parameters

  - #### T

  #### Parameters

  - ##### token any

  #### Returns T

  - Defined in interface.ts:70

- 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

  - Defined in interface.ts:88

- Asynchronously gets a value as type `T` (generics parameter)

  #### Type parameters

  - #### T

  #### Parameters

  - ##### token any

  #### Returns Promise<T>

  - Defined in interface.ts:90

- 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

  - Defined in interface.ts:105

- #### Type parameters

  - #### T

  #### Parameters

  - ##### token any

  #### Returns T

  - Defined in interface.ts:106

Generated using TypeDoc