在父级上打开Vue对话框(模态)

时间:2018-07-19 21:16:08

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

首先,我已经阅读过this帖子,但对我没有帮助(或者我无法解决该问题)

我有一个组件,它是 Vuetify Modal (语音模态) (ModalTurno.vue)。 我正在尝试通过底部导航(bottomNav.Vue)(也是组件)中的按钮打开此文件。

我什至做到了!但它将在“底部导航div”上打开。所以我想在我的主Vue (Turno.Vue)上打开它,这样我就可以看到整个模式。这让我发疯了

Vuetify Modal(ModalTurno.Vue):

    <template>
    <v-dialog v-model="dialog" persistent max-width="500px" >
      <v-card>
        <v-card-title>
          <span class="headline">User Profile</span>
        </v-card-title>
      </v-card>
    </v-dialog>
</template>

<script>
  export default {
    data: () => ({
      dialog: false
    })
   }
</script>

底部导航(bottomNav.Vue)(按钮在哪里):

 <template>
  <v-card height="200px" flat>
    <v-bottom-nav
      :value="true"
      color="indigo"
      fixed
    >
       <v-btn
        dark
        flat
        value="favorites">
          <span>Agregar turno</span>
          <v-icon>add_circle</v-icon>
      </v-btn> <!--THIS IS THE BUTTON TO OPEN THE DIALOG -->

    </v-bottom-nav>
  </v-card>
</template>

<script>
export default {
  name: 'header',
  data () {
      return {
          bottomNav: 'recent'
      }
  }
}
</script>

Turno.Vue(应在何处显示模式):

<template>
  <div>
    <bottomNav> </bottomNav>

    <modalTurno>  </modalTurno>
  </div>
</template>

<script>
import bottomNav from "./components/bottomNav.vue";
import modalTurno from "./components/ModalTurno.vue";

export default {
  name: 'turno',
  components: {
    bottomNav,
    modalTurno 
  }
}
</script>

感谢所有利用他/她的时间阅读这篇文章的人!

1 个答案:

答案 0 :(得分:2)

您可以通过:

Turno.vue

bottomNav.Vue

  • 将@click =“ $ parent。$ refs.modalTurno.dialog = true”添加到v-btn(这将更新modalTurno中的对话框)