Vue-роутер и глубоко вложенные маршруты - PullRequest
0 голосов
/ 08 июля 2019

Учитывая следующий компонент макета:

Планировка:

<template>
  <div class="container">
    <div class="sidebar-container">
      <router-view name='sidebar'></router-view>
    </div>
    <div class="main">
      <router-view></router-view>
    </div>
  </div>
</template>

Есть ли способ указать в глубоко вложенном маршруте использование sidebar розетки?

const routes = {
  path: '',
  components: { default: SomeMainComponent },
  children: [{
    path: 'foo',
    children: [{
      path: 'bar',
      components: { sidebar: BarSide }
    }]
  }]
}

Похоже, что маршрутизатор ищет только выходы маршрутизатора родительского прямого маршрута - если я переместу components: { side: BarSide } в определение foo, то компонент будет отображаться так, как ожидается. Как таковой, компонент даже не создается.

Есть ли способ достичь этого?

JsFiddle: https://jsfiddle.net/xptkhf4z/5/ - нажатие на ссылку With helper обновляет маршрут, сохраняет отображаемый компонент по умолчанию, но не отображает дополнительный компонент в слоте помощника.

...