全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-20 5 分钟 ✍️ juanwangdev

beforeUpdate与updated

这两个钩子处理组件更新阶段的逻辑。

beforeUpdate

JavaScript
export default {
  beforeUpdate() {
    // 数据已变化,DOM 尚未更新
    console.log(this.message) // 新值
    console.log(this.$el.textContent) // 旧值
  }
}

updated

JavaScript
export default {
  updated() {
    // DOM 已根据新数据更新
    console.log(this.$el.textContent) // 新值
  }
}

Composition API

JavaScript
import { onBeforeUpdate, onUpdated } from 'vue'

export default {
  setup() {
    onBeforeUpdate(() => {
      console.log('即将更新')
    })
    
    onUpdated(() => {
      console.log('已更新')
    })
  }
}

使用注意

避免在 updated 中更改状态,可能导致无限更新循环。

JavaScript
// 错误示例
updated() {
  this.count++ // 会再次触发 updated
}

典型用途

钩子时机典型用途
beforeUpdateDOM 更新前获取更新前的 DOM 状态
updatedDOM 更新后操作更新后的 DOM

要点总结

  • beforeUpdate 数据变化但 DOM 未更新
  • updated DOM 已根据新数据更新
  • 避免在 updated 中更改状态
  • Composition API 使用 onBeforeUpdateonUpdated

📝 发现内容有误?点击此处直接编辑

← 上一篇 beforeMount与mounted
下一篇 → errorCaptured
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库