Перечислите методы жизненного цикла компонента Vue
- beforeCreate: Вызывается синхронно сразу после инициализации экземпляра, перед установкой наблюдения за данными и механизмов слежения и событий.
- created: Вызывается синхронно после создания экземпляра. На этом этапе экземпляр закончил обработку опций и настроил наблюдение за данными, вычисляемые свойства, методы, коллбэки методов-наблюдателей и событий. Однако, фаза монтирования ещё не начата и свойство $el на данный момент недоступно.
- beforeMount: Вызывается непосредственно перед начало монтирования: функция render будет вызываться в первый раз. Не вызывается при отрисовке на стороне сервера.
- mounted: Вызывается после монтирования экземпляра. vm.$el установлено. Если необходимо подождать, пока не будут отрисованы и все дочерние, то можно воспользоваться vm.$nextTick внутри mounted.
- beforeUpdate: Вызывается при изменении данных, перед обновлением DOM. Это удобное место для получения доступа к существующему DOM перед обновлением, например, чтобы вручную удалить добавленные слушатели событий. Не вызывается при отрисовке на стороне сервера, потому что на стороне сервера выполняется только первоначальная отрисовка.
- updated: Вызывается после того, как обновится виртуальный DOM вследствие изменений данных.
DOM компонента будет уже обновлён к моменту вызова этого хука, поэтому здесь можно выполнять операции связанные с DOM. Тем не менее, старайтесь избегать изменения состояния в этом хуке. Для реагирования на изменения состояния лучше использовать вычисляемые свойства или отслеживание с помощью методов-наблюдателей.
Обратите внимание, что updated не гарантирует, что все дочерние компоненты также были перерисованы. Если необходимо подождать, пока дочерние компоненты не будут повторно отрисованы, можно воспользоваться vm.$nextTick внутри updated.
Не вызывается при отрисовке на стороне сервера.
- activated: Вызывается при активации компонента внутри <keep-alive>. Не вызывается при отрисовке на стороне сервера.
- deactivated: Вызывается после деактивации компонента внутри <keep-alive>. Не вызывается при отрисовке на стороне сервера.
- beforeUnmount: Вызывается перед демонтированием экземпляра компонента. На этом этапе экземпляр компонента всё ещё полностью работоспособен. Не вызывается при отрисовке на стороне сервера.
- unmounted: Вызывается после того, как экземпляр компонента размонтирован. Когда этот хук вызван, все директивы экземпляра компонента уже отвязаны, все слушатели событий удалены и все дочерние экземпляры компонентов размонтированы. Не вызывается при отрисовке на стороне сервера.
- errorCaptured: Вызывается, когда фиксируется ошибка из любого дочернего компонента. Хук получает три аргумента: ошибку, экземпляр компонента, в котором вызвана ошибка, и строку с информацией, где была зафиксирована ошибка. Хук может возвращать false, чтобы остановить дальнейшее распространение ошибки.
-renderTracked: Служит для отслеживания перерисовки виртуального DOM. Хук получает в качестве аргумента debugger event. Это событие сообщает, какая операция была отслежена в компоненте и целевой объект, а также ключ этой операции.
-renderTriggered: Вызывается при срабатывании перерисовки виртуального DOM. Подобно renderTracked в качестве аргумента получает debugger event. Это событие сообщает, какая операция вызвала перерисовку, а также целевой объект и ключ этой операции.
👉
@frontendInterview