Added base code
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
import { LitElement, html } from 'lit';
|
||||
import { customElement } from 'lit/decorators.js';
|
||||
import './components/nav-bar';
|
||||
import { Router } from './router/router';
|
||||
import './pages/home-page';
|
||||
|
||||
@customElement('app-root')
|
||||
export class AppRoot extends LitElement {
|
||||
private router!: Router;
|
||||
|
||||
firstUpdated() {
|
||||
const outlet = this.shadowRoot?.getElementById('outlet') as HTMLElement;
|
||||
this.router = new Router(outlet, [
|
||||
{ path: '/', view: () => document.createElement('home-page') },
|
||||
{ path: '/tracks', view: () => document.createElement('tracks-page') },
|
||||
{ path: '/about', view: () => document.createElement('about-page') },
|
||||
]);
|
||||
this.router.resolve();
|
||||
this.addEventListener('nav', (e: any) => this.router.navigate(e.detail.path));
|
||||
}
|
||||
|
||||
render() {
|
||||
return html`
|
||||
<nav-bar></nav-bar>
|
||||
<main id="outlet"></main>
|
||||
`;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user