Можно ли достучаться до DOM в onBeforeMount

«Можно ли достучаться до DOM в onBeforeMount» — вопрос из категории Vue, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, в хуке onBeforeMount DOM ещё не создан, поэтому напрямую обратиться к элементам нельзя. Этот хук вызывается непосредственно перед монтированием компонента, но шаблон ещё не скомпилирован и не вставлен в DOM.

Пример:

onBeforeMount(() => {
  // Это НЕ сработает
  const el = document.getElementById('my-element'); // null
  console.log(el);
});

Для работы с DOM используйте хук onMounted, который вызывается после монтирования компонента:

onMounted(() => {
  // Здесь DOM доступен
  const el = document.getElementById('my-element');
  console.log(el); // Элемент существует
});