Ссылка на дочерний компонент внутри v-диалога - PullRequest
1 голос
/ 10 января 2020

У меня проблема с получением ссылки на компонент внутри компонента v-dialog из vuetify.

Этот код печатает undefined в консоли вместо object.

<template>
    <v-dialog ref="mydialog">
        <v-card ref="mycard">
        </v-card>
    </v-dialog>
</template>

<script>
export default {
  mounted() {
      console.log(this.$refs.mycard);
  }
}
</script>

Невозможно получить доступ к дочернему компоненту по ссылке внутри v-диалога ?

Ответы [ 2 ]

4 голосов
/ 10 января 2020

Вы не можете получить доступ к компоненту v-card из-за отложенной загрузки в vuetify 2.

Если вы уверены, что вам нужен доступ к компоненту v-card на смонтированном этапе, вы можете добавить Стремится Пропустить в компонент V-диалога.

Этот код работает:

<template>
  <v-dialog ref="mydialog" eager>
    <v-card ref="mycard">
    </v-card>
  </v-dialog>
</template>

<script>
  export default {
    mounted() {
      console.log(this.$refs.mycard);
    }
  }
</script>
0 голосов
/ 10 января 2020

, поскольку диалоговое окно не отображается, установите значение prop как true, и вы можете получить ссылку

<template>
    <v-dialog ref="mydialog" :value="true">
        <v-card ref="mycard">
        </v-card>
    </v-dialog>
</template>

<script>
export default {
  mounted() {
      console.log(this.$refs.mycard);
  }
}
</script>
...