UIRouter | @uirouter/angularjs
Options
Menu

The master class used to instantiate an instance of UI-Router.

UI-Router (for each specific framework) will create an instance of this class during bootstrap. This class instantiates and wires the UI-Router services together.

After a new instance of the UIRouter class is created, it should be configured for your app. For instance, app states should be registered with the UIRouter.stateRegistry.


Normally the framework code will bootstrap UI-Router. If you are bootstrapping UIRouter manually, tell it to monitor the URL by calling UrlService.listen then UrlService.sync.

Hierarchy

  • UIRouter

Index

Constructors

  • Creates a new UIRouter object

    Parameters

    Returns UIRouter


Properties

globals: UIRouterGlobals = new UIRouterGlobals()

Global router state

Global router state

locationConfig: LocationConfig

a LocationConfig implementation

a LocationConfig implementation

locationService: LocationServices

a LocationServices implementation

a LocationServices implementation

stateRegistry: StateRegistry = new StateRegistry(this)

Provides a registry for states, and related registration services

Provides a registry for states, and related registration services

stateService: StateService = new StateService(this)

Provides services related to states

Provides services related to states

trace: Trace = trace

Provides trace information to the console

Provides trace information to the console

transitionService: TransitionService = new TransitionService(this)

Provides services related to Transitions

Provides services related to Transitions

urlMatcherFactory: UrlMatcherFactory = new UrlMatcherFactory(this)

Deprecated for public use. Use urlService instead.

Deprecated for public use. Use urlService instead.

deprecated

Use urlService instead

urlRouter: UrlRouter = new UrlRouter(this)

Deprecated for public use. Use urlService instead.

Deprecated for public use. Use urlService instead.

deprecated

Use urlService instead

urlService: UrlService = new UrlService(this)

Provides services related to the URL

Provides services related to the URL

viewService: ViewService = new ViewService(this)

Provides services related to ui-view synchronization

Provides services related to ui-view synchronization

Methods

  • disposable(disposable: Disposable): void
  • Registers an object to be notified when the router is disposed

  • Registers an object to be notified when the router is disposed

    Parameters

    Returns void


  • dispose(disposable?: any): void
  • Disposes this router instance

  • Disposes this router instance

    When called, clears resources retained by the router by calling dispose(this) on all registered disposable objects.

    Or, if a disposable object is provided, calls dispose(this) on that object only.

    Parameters

    • disposable: Optional  any
      :

      (optional) the disposable to dispose

    Returns void


  • getPlugin(pluginName: string): UIRouterPlugin
  • Returns registered plugins

  • getPlugin(): UIRouterPlugin[]
  • Returns registered plugins

    Returns the registered plugin of the given pluginName. If no pluginName is given, returns all registered plugins

    Parameters

    • pluginName string
      :

      (optional) the name of the plugin to get

    Returns UIRouterPlugin

    :

    the named plugin (undefined if not found), or all plugins (if pluginName is omitted)


  • Returns UIRouterPlugin[]


  • plugin<T>(plugin: object, options?: any): T
  • Add plugin (as ES6 class)

  • plugin<T>(plugin: function, options?: any): T
  • Add plugin (as javascript constructor function)

  • plugin<T>(plugin: PluginFactory<T>, options?: any): T
  • Add plugin (as javascript factory function)

  • Add plugin (as ES6 class)

    This method adds a UI-Router Plugin. A plugin can enhance or change UI-Router behavior using any public API.

    Example:

    import { MyCoolPlugin } from "ui-router-cool-plugin";
    
    var plugin = router.addPlugin(MyCoolPlugin);

    Plugin authoring

    A plugin is simply a class (or constructor function) which accepts a UIRouter instance and (optionally) an options object.

    The plugin can implement its functionality using any of the public APIs of UIRouter. For example, it may configure router options or add a Transition Hook.

    The plugin can then be published as a separate module.

    Example:

    export class MyAuthPlugin implements UIRouterPlugin {
      constructor(router: UIRouter, options: any) {
        this.name = "MyAuthPlugin";
        let $transitions = router.transitionService;
        let $state = router.stateService;
    
        let authCriteria = {
          to: (state) => state.data && state.data.requiresAuth
        };
    
        function authHook(transition: Transition) {
          let authService = transition.injector().get('AuthService');
          if (!authService.isAuthenticated()) {
            return $state.target('login');
          }
        }
    
        $transitions.onStart(authCriteria, authHook);
      }
    }

    Type parameters

    Parameters

    • plugin object
      :

      one of: - a plugin class which implements UIRouterPlugin - a constructor function for a UIRouterPlugin which accepts a UIRouter instance - a factory function which accepts a UIRouter instance and returns a UIRouterPlugin instance

      • constructor: function
        • new __type(router: UIRouter, options?: any): T
        • Parameters

          • router UIRouter
          • options: Optional  any

          Returns T


    • options: Optional  any
      :

      options to pass to the plugin class/factory

    Returns T

    :

    the registered plugin instance


  • Add plugin (as javascript constructor function)

    This method adds a UI-Router Plugin. A plugin can enhance or change UI-Router behavior using any public API.

    Example:

    import { MyCoolPlugin } from "ui-router-cool-plugin";
    
    var plugin = router.addPlugin(MyCoolPlugin);

    Plugin authoring

    A plugin is simply a class (or constructor function) which accepts a UIRouter instance and (optionally) an options object.

    The plugin can implement its functionality using any of the public APIs of UIRouter. For example, it may configure router options or add a Transition Hook.

    The plugin can then be published as a separate module.

    Example:

    export class MyAuthPlugin implements UIRouterPlugin {
      constructor(router: UIRouter, options: any) {
        this.name = "MyAuthPlugin";
        let $transitions = router.transitionService;
        let $state = router.stateService;
    
        let authCriteria = {
          to: (state) => state.data && state.data.requiresAuth
        };
    
        function authHook(transition: Transition) {
          let authService = transition.injector().get('AuthService');
          if (!authService.isAuthenticated()) {
            return $state.target('login');
          }
        }
    
        $transitions.onStart(authCriteria, authHook);
      }
    }

    Type parameters

    Parameters

    • plugin function
      :

      one of: - a plugin class which implements UIRouterPlugin - a constructor function for a UIRouterPlugin which accepts a UIRouter instance - a factory function which accepts a UIRouter instance and returns a UIRouterPlugin instance

        • (router: UIRouter, options?: any): void
        • Parameters

          • router UIRouter
          • options: Optional  any

          Returns void

    • options: Optional  any
      :

      options to pass to the plugin class/factory

    Returns T

    :

    the registered plugin instance


  • Add plugin (as javascript factory function)

    This method adds a UI-Router Plugin. A plugin can enhance or change UI-Router behavior using any public API.

    Example:

    import { MyCoolPlugin } from "ui-router-cool-plugin";
    
    var plugin = router.addPlugin(MyCoolPlugin);

    Plugin authoring

    A plugin is simply a class (or constructor function) which accepts a UIRouter instance and (optionally) an options object.

    The plugin can implement its functionality using any of the public APIs of UIRouter. For example, it may configure router options or add a Transition Hook.

    The plugin can then be published as a separate module.

    Example:

    export class MyAuthPlugin implements UIRouterPlugin {
      constructor(router: UIRouter, options: any) {
        this.name = "MyAuthPlugin";
        let $transitions = router.transitionService;
        let $state = router.stateService;
    
        let authCriteria = {
          to: (state) => state.data && state.data.requiresAuth
        };
    
        function authHook(transition: Transition) {
          let authService = transition.injector().get('AuthService');
          if (!authService.isAuthenticated()) {
            return $state.target('login');
          }
        }
    
        $transitions.onStart(authCriteria, authHook);
      }
    }

    Type parameters

    Parameters

    Returns T

    :

    the registered plugin instance


Generated using TypeDoc