> Как получить доступ к DOM элементам через ref в created и mounted хуках во Vue (Vue.js)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: ЛОЦИЯ, Библио-Глобус
Стек: Vue.js
> Пример ответа
В хуке created доступ к DOM-элементам через ref невозможен, так как на этом этапе компонент ещё не смонтирован, и виртуальное DOM-дерево не преобразовано в реальное. Все ref будут undefined.
В хуке mounted компонент уже смонтирован, и ref доступны. Пример:
<template> <div ref="myDiv">Привет, мир!</div> </template> <script> export default { mounted() { // Доступ к DOM-элементу через ref const element = this.$refs.myDiv; console.log(element.textContent); // "Привет, мир!" } } </script>
Если нужно выполнить действия с DOM до монтирования, используйте $nextTick внутри mounted или другие хуки, такие как beforeMount (но там ref ещё не определены). Для работы с ref в Composition API (Vue 3) используйте ref из vue и назначайте его в setup(), но доступ к элементу также будет только после монтирования, например, через onMounted.
> Похожие задачи по frontend
Как используются менеджеры состояния во Vue
Как решить проблему потери реактивности при деструктуризации пропсов во Vue?
В чем разница хуков mounted и beforeMount во Vue
Как дождаться перерендера шаблона после изменения реактивных данных во Vue
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью