前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

Vue3.2中onUpdated用法和作用(vue3.0 onmounted)

qiguaw 2024-10-24 12:58:34 资源文章 40 ℃ 0 评论

onUpdated 是 Vue 3.2 中的一个生命周期钩子函数,该钩子函数会在组件更新完毕(DOM 更新完毕)后调用,具体的用法和作用如下:

使用方法

在 Vue 3.2 中,使用 onUpdated 钩子函数很简单,只需要在 <script setup> 中定义即可,如下代码所示:

<template>
  <MyComponent :myData="myData" />
</template>

<script setup>
import { ref, onUpdated } from 'vue'

const myData = ref('Hello, Vue!')

onUpdated(() => {
  console.log('MyComponent updated!')
})
</script>

主要作用

onUpdated 钩子函数主要用于在组件更新完毕后,立即执行一些操作,比如在数据更新后需要对 DOM 进行进一步的操作,或者对组件的状态做出一些判断。通常会在 onUpdated 钩子函数中执行一些需要依赖更新后的数据的操作,具体的作用有以下两种:

  1. 对更新后的 DOM 进行操作

onUpdated 钩子函数可以让我们监听到组件的更新完成,此时组件的 DOM 已经渲染完毕。这意味着如果我们需要在 DOM 更新后做一些复杂的 DOM 操作,比如实现动画效果、更新视图位置等,onUpdated 钩子函数是一个非常有效的方式。

<template>
  <div>
    <p ref="myTitle">{{ myData }}</p>
    <button @click="updateData">Update</button>
  </div>
</template>

<script setup>
import { ref, onUpdated } from 'vue'

const myData = ref('Initial data')

const updateData = () => {
  myData.value = 'Updated data'
}

onUpdated(() => {
  const myTitle = document.querySelector('#myTitle')
  // 实现滚动效果
  myTitle.scrollBy(0, 10)
})
</script>
  1. 在更新后做出一些判断

在 onUpdated 中,我们可以根据最新状态的数据,来做出一些操作。比如,如果我们想要提示用户数据已经更新完成,可以在 onUpdated 钩子函数中展示相应的提示。

<template>
  <div>
    <p>{{ myData }}</p>
    <button @click="updateData">Update</button>
    <p v-if="updateComplete">数据已更新完成</p>
  </div>
</template>

<script setup>
import { ref, computed, onUpdated } from 'vue'

const myData = ref('Initial data')
const count = ref(1)

const updateComplete = computed(() => {
  return count.value > 1
})

const updateData = () => {
  myData.value = 'Updated data'
  count.value++
}

onUpdated(() => {
  if (updateComplete.value) {
    alert('数据已更新完成')
  }
})
</script>

综上所述,onUpdated 钩子函数主要用于在组件更新完成后做一些操作,可以进行一些 DOM 操作或者对数据进行判断以及其他操作等等。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表