Загрузка…
Vue · junior · сложность 3
Оба — хуки жизненного цикла Options API. created — экземпляр уже реактивен, но DOM ещё нет. mounted — компонент вставлен в документ, $el доступен.
created
mounted
$el
<script> export default { data: () => ({ width: 0 }), created() { // this.$el ещё недоступен this.loadUser() }, mounted() { this.width = this.$el.clientWidth }, methods: { async loadUser() { /* fetch */ }, }, } </script>
Composition API: created ≈ код в setup / <script setup>; mounted → onMounted.
setup
<script setup>
onMounted
<script setup> import { onMounted, ref } from 'vue' const el = ref(null) onMounted(() => el.value?.focus()) </script> <template><input ref="el" /></template>
SSR: mounted только на клиенте — идеальное место для browser-only API.
Данные и запросы — раньше (created/setup); измерения и DOM-API — в mounted/onMounted.