Nested routes
Sometimes we need to reuse routes, for that we have routes combined with outlet component.
import { Component, html } from 'vistajs/dom';
import { bootstrap } from 'vistajs/boot';
import { Routes, router } from 'vistajs/router'
const Form = Component('app-form', () => {
return () => html`<n-outlet />`;
});
const PersonalData = Component('app-personal-data-step', () => {
return () => html`
<div>
<div>
<label for="firstname">Firstname</label>
<input id="firstname">
</div>
<div>
<label for="surname">Surname</label>
<input id="surname">
</div>
<button>next</button>
</div>`;
});
const CreatePassword = Component('app-create-password-step', () => {
return () => html`
<div>
<div>
<label for="password">Password</label>
<input id="password" type="password">
</div>
<div>
<label for="confirm_password">Confirm password</label>
<input id="confirm_password">
</div>
<button>create account</button>
</div>`;
});
const routes: Routes = [
{
path: 'create-account',
component: () => Form,
children: [
{
path: 'personal-data-step',
component: () => PersonalData
},
{
path: 'personal-data-step',
component: () => CreatePassword
},
]
},
];
const root = document.querySelector('#root') as Element;
bootstrap(document.body, root, { routes })Last updated