RouteDestination

RouteDestination contains a ViewSet object. RouteHandler.new() takes a RouteHandlerCallback containing a RouteDestination. RouteHandler.update() takes a RouteHandlerCallback containing a RouteDestination.

Syntax

type RouteDestination {
    viewset: ViewSet;
}

Properties

Property Type Required/Optional Description
viewset A ViewSet object Required A ViewSet object that specifies the view to display.

ViewSet

The view to display. Supply a ViewSet object to a RouteDestination.

Properties

Property Type Required/Optional Description
viewName String Required The viewName key maps to the viewName property for the outlet. It accepts either: <ul><li>a Promise to a route handler module: { default: import('my/routeHandler') }.</li><li>a ViewInfo object</li></ul></li></ul>

note: In LWR, modules are always provided via a Promise object. Promises allow the module code to be lazily loaded, improving application performance.

Syntax

interface ViewSet {
    [viewName: string]: (() => Promise<Module>) | ViewInfo;
}

note: If a single page reference maps to more than one view, you can specify more than one outlet where each outputs a different view component. For example: { default: import('my/routeHandler'), sidebar: import('my/sideHandler'), footer: import('my/footerHandler') }. Check out Outlets for more information about using multiple outlets.

ViewInfo

An object containing a Promise to a route handler module and a string specifier for the module. Supply a ViewInfo object to a ViewSet object.

Properties

Property Type Required/Optional Description
module Promise Required A promise to a route handler module.
string String Required A string specifier for the module, like my/recipePage. Simple or straightforward use cases typically don't require a specifier. In other cases, the specifier for the module can't be determined from a Promise alone, so you should manually define the module's string specifier for the route handler.

Syntax

interface ViewInfo {
    module: () => Promise<Module>
    specifier: string;
}

See Also