In this example we will see how to add a router with vaadin router
Vaadin router
A small, powerful and framework-agnostic client-side router for Web Components
npm i @vaadin/router
import { html, LitElement } from "lit";
export class Home extends LitElement {
constructor() {
super();
}
render() {
return html`<div>
<h1>Home</h1>
</div>`;
}
}
customElements.define("my-home", Home);
main.js
import { Router } from "@vaadin/router";
function initRouter() {
const router = new Router(document.querySelector("#app"));
router.setRoutes([
{
path: "/",
component: "my-home",
action: () => import("./pages/Home")
},
{
path: "/about",
component: "my-about",
action: () => import("./pages/About"),
},
]);
}
window.addEventListener("load", () => initRouter());
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/src/favicon.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite + Lit App</title>
<script type="module" src="src/main.js"></script>
</head>
<body>
<div id="app"></div>
</body>
</html>
Top comments (0)