Creates a new UIRouter
object
Creates a new UIRouter
object
a LocationServices implementation
a LocationConfig implementation
Global router state
a LocationConfig implementation
a LocationServices implementation
Provides a registry for states, and related registration services
Provides services related to states
Provides trace information to the console
Provides services related to Transitions
Deprecated for public use. Use urlService instead.
Deprecated for public use. Use urlService instead.
Provides services related to the URL
Provides services related to ui-view synchronization
Registers an object to be notified when the router is disposed
Registers an object to be notified when the router is disposed
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.
(optional) the disposable to dispose
Returns registered plugins
Returns registered plugins
Returns the registered plugin of the given pluginName
.
If no pluginName
is given, returns all registered plugins
(optional) the name of the plugin to get
the named plugin (undefined if not found), or all plugins (if pluginName
is omitted)
Add plugin (as ES6 class)
Add plugin (as javascript constructor function)
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.
import { MyCoolPlugin } from "ui-router-cool-plugin";
var plugin = router.addPlugin(MyCoolPlugin);
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.
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);
}
}
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
options to pass to the plugin class/factory
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.
import { MyCoolPlugin } from "ui-router-cool-plugin";
var plugin = router.addPlugin(MyCoolPlugin);
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.
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);
}
}
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
options to pass to the plugin class/factory
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.
import { MyCoolPlugin } from "ui-router-cool-plugin";
var plugin = router.addPlugin(MyCoolPlugin);
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.
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);
}
}
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
options to pass to the plugin class/factory
the registered plugin instance
Generated using TypeDoc
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.