Skip to content

lit-ui-router / UIRouterLitElement

Class: UIRouterLitElement ​

Defined in: packages/lit-ui-router/src/ui-router.ts:47

Slots ​

  • default — <ui-router> renders slotted content.

Events ​

  • ui-router-context — <ui-router> listens to the ui-router-context event and provides the uiRouter instance. It answers the community context-request protocol for {@link routerContext} from the same listener position, so an element built on @lit/context gets the router too. The two paths coexist and neither sees the other's event: {@link UIRouterLitElement.seekRouter} asks on ui-router-context first and falls back to {@link requestRouter}. The ui-router-context event is deprecated in favour of context-request.

Extends ​

Properties ​

PropertyTypeDescriptionDefined in
uiRouterUIRouterLit | undefinedRoot uiRouter singleton. If not provided, the element creates and assigns a new instance.packages/lit-ui-router/src/ui-router.ts:53

Methods ​

seekRouter() ​

ts
static seekRouter(candidate): UIRouterLit | undefined;

Defined in: packages/lit-ui-router/src/ui-router.ts:100

Discovers the UIRouterLit instance provided by the nearest enclosing <ui-router> element.

Dispatches a bubbling, composed ui-router-context event from the candidate element; the enclosing <ui-router> answers it with its router instance. Returns undefined when the candidate is not inside a <ui-router> (e.g. not yet connected).

This is the dependency-injection primitive for integrating external reactivity systems (state stores, controllers) with the router context — call it from hostConnected() / connectedCallback() instead of prop-drilling the router instance.

When no <ui-router> answers, it asks again with requestRouter, so an ancestor providing routerContext over the community protocol — a bare @lit/contextContextProvider, say — is found as well.

Parameters ​

ParameterType
candidateElement

Returns ​

UIRouterLit | undefined

Deprecated ​

Use the context-request protocol instead: requestRouter or routerContext from lit-ui-router/context.