В чем разница между created и mounted?
Жизненный цикл
`created` вызывается, когда экземпляр компонента создан и реактивные данные готовы, но DOM ещё нет. `mounted` — когда компонент уже вставлен в DOM.
created (Options API)
- Доступны
data,props,computed, методы. - Нет
this.$elи элементов шаблона. - Подходит для запуска загрузки данных, если DOM не нужен.
- Выполняется и при SSR.
mounted
- Шаблон отрисован,
this.$elиrefна элементах доступны. - Подходит для работы с DOM: измерить размер, подключить сторонний виджет, повесить слушатель на
window. - При SSR не вызывается.
export default {
created() {
this.fetchUser();
},
mounted() {
this.$refs.input.focus();
},
};В Composition API аналог created — сам код в setup(), а mounted — onMounted.
Коротко для собеседования
created — данные готовы, DOM ещё нет; mounted — компонент уже в DOM, можно работать с элементами.
Подробнее: Vue — хуки жизненного цикла