如何在不同的路由器视图中管理对话框?

时间:2018-04-15 13:02:49

标签: vue.js vuejs2 vue-component vue-router vuetify.js

我在vue-router s内的v-dialogrouter-view s( vuetify.js 组件)出现了问题。

我的App.vue看起来像这样:

<template>
  <transition>
    <keep-alive>
      <router-view/>
    </keep-alive>
  </transition>
</template>

在每个router-view内,我有一个组件:

<template>
  <v-app>
    <app-header></app-header>
    <v-content></v-content>
    <app-footer></app-footer>

    <!-- a couple of dialogs here -->
    <v-dialog v-model="someData.show"></v-dialog>
    <v-dialog v-model="anotherData.show"></v-dialog>
    <v-dialog v-model="yetAnotherData.show"></v-dialog>
  </v-app>
</template>

当我在不同的router-view之间切换并打开对话框叠加显示时,但对话框没有。除了首次加载页面的router-view之外。

似乎有什么问题?是否与我在路线或组件中定义的方式有关?

您可以在此处查看完整代码:https://github.com/websanya/gkp7-app/

请帮忙!

1 个答案:

答案 0 :(得分:0)

事实上,我应该在v-app文件中仅使用router-view之外的App.vue个。{/ p>

<template>
  <!-- OVER HERE -->
  <v-app>
    <transition>
      <keep-alive>
        <router-view/>
      </keep-alive>
    </transition>
  </v-app>
  <!-- / OVER HERE -->
</template>

像魅力一样。