У меня есть небольшое приложение, которое использует vue-router и выглядит так:
App.vue
<template>
<div id="app">
<app-header></app-header>
<router-view></router-view>
<app-footer></app-footer>
</div>
</template>
<script>
import AppHeader from './components/layout/AppHeader'
import AppFooter from './components/layout/AppFooter'
export default {
name: 'my-app',
components: { AppHeader, AppFooter },
}
</script>
/
route
<main role="main">
<div class="container-fluid">
<div class="row">
<div class="col-12">
<p>hello world!</p>
</div>
</div>
</div>
</main>
Renders
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>My App</title>
<script src="/dist/build.css"></script>
</head>
<body>
<div id="app">
<header>...</header>
<main role="main">...</main>
<footer>...</footer>
</div>
<script src="/dist/build.js"></script>
</body>
</html>
Я изо всех сил пытаюсь понять, как мы будем размещать разметку таким образом, чтобы заголовок, главный и нижний колонтитулы являются дочерними элементами тела?
Один из способов, которым, я думаю, можно было бы достичь этого, является portal-vue , где вы можете визуализировать компонент для любого элемента в dom..
Это лучшее / рекомендуемое решение или есть другие способы сделать это?