> Для чего нужен defineExpose во Vue 3 (Vue.js)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: Библио-Глобус
Стек: Vue.js
> Пример ответа
defineExpose во Vue 3 используется для явного указания, какие свойства или методы компонента (написанного с Composition API и <script setup>) должны быть доступны родительскому компоненту через ссылку (template ref). По умолчанию всё, что объявлено внутри <script setup>, является приватным и не видно снаружи. defineExpose позволяет контролировать публичный интерфейс компонента, например, чтобы родитель мог вызвать метод дочернего компонента или получить доступ к его реактивным данным.
Пример:
<!-- Child.vue --> <script setup> import { ref } from 'vue' const count = ref(0) const increment = () => count.value++ defineExpose({ count, increment }) </script>
<!-- Parent.vue --> <template> <Child ref="childRef" /> <button @click="childRef.increment()">+</button> </template>
> Похожие задачи по frontend
Как получить ref компонента сразу после его отрисовки при условном рендеринге во Vue
Для чего нужен provide/inject во Vue
В чем разница v-if и v-show во Vue
Для чего используется teleport во Vue 3
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью