Skip to content

ui-router-mobx / RouterStore

Class: RouterStore ​

Defined in: router-store.ts:23

An observable mirror of a router's current state.

A single transitionService.onSuccess hook (registered by attach) pushes the current state, params, and transition into MobX observables. Any MobX reaction, autorun or computed that reads the store re-runs when the values it reads change, with no per-consumer transition hooks.

Use the for factory to get the store for a router: it memoizes one store (and one transition hook) per router instance.

Constructors ​

Constructor ​

ts
new RouterStore(): RouterStore;

Defined in: router-store.ts:56

Returns ​

RouterStore

Properties ​

PropertyTypeDefault valueDescriptionDefined in
current?StateDeclarationundefinedThe current state declaration (globals.current).router-store.ts:25
paramsRawParams{}The current parameter values (globals.params), replaced per transition.router-store.ts:28
transition?TransitionundefinedThe most recent successful transition.router-store.ts:31

Methods ​

attach() ​

ts
attach(router): () => void;

Defined in: router-store.ts:89

Starts mirroring the given router. Called by for; call directly only when managing the store instance yourself.

Idempotent per router: attaching again to the router already being mirrored returns the same deregistration function instead of registering a second hook. Calling that function detaches the store, after which it can be attached again.

Parameters ​

ParameterType
routerUIRouter

Returns ​

the hook's deregistration function.

() => void

Throws ​

if the store is already attached to a different router — one store mirrors one router; use for to get that router's own store.


for() ​

ts
static for(router): RouterStore;

Defined in: router-store.ts:44

The observable store for the given router — one per router instance. The first call attaches the store's transition hook; the hook (and the store) live as long as the router itself.

Parameters ​

ParameterType
routerUIRouter

Returns ​

RouterStore


includes() ​

ts
includes(stateOrName, params?): boolean;

Defined in: router-store.ts:127

Observable version of StateService.includes: is the state (or glob pattern, e.g. 'admin.**') included in the current active state?

Parameters ​

ParameterType
stateOrNameStateOrName
params?RawParams

Returns ​

boolean