The essential building blocks of each page, or single-file component, consist of:
<b-container>
<page-title>
<page-section>
<template> <b-container fluid="xl"> <page-title /> <page-section :section-title="$t('pageName.sectionTitle')"> // Page content goes here </page-section> </b-container> </template>
Use the fluid="xl"
prop on the <b-container>
component to render a container that is always 100% width on larger screen sizes. Learn more about BootstrapVue containers.
<template> <b-container fluid="xl"> </b-container> </template>
Within the page container, include the page title and page section components.
The <page-title>
component will automatically render the page title that corresponds with the title property set in the route record's meta field in src/router/routes.js
.
// src/router/routes.js { path: '', name: 'login', component: Login, meta: { title: i18n.t('appPageTitle.login'), }, },
Optional page descriptions can be included by using the description prop :description
prop and passing in the i18n localized text string. Translations are found in the src/locales
folder.
// Example: `src/views/AccessControl/Ldap/Ldap.vue` <page-title :description="$t('pageLdap.pageDescription')" />
View the page title component source code.
The <page-section>
component will render semantic HTML. By adding a :section-title
prop to the <page-section>
component, the localized text string will be rendered in an h2
header element.
// Example: `src/views/AccessControl/Ldap/Ldap.vue` <page-section :section-title="$t('pageLdap.settings')">
View the page section component source code.
Visit the quick start guide to learn how to build a single-file component using this page anatomy.