Семантические теги как дети тела при использовании Vue SFCs / Router? - PullRequest
0 голосов
/ 22 ноября 2018

У меня есть небольшое приложение, которое использует 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..

Это лучшее / рекомендуемое решение или есть другие способы сделать это?

...