vue 钩子函数updated什么时候触发

触发时机

  • updated是Vue生命周期钩子函数之一,在组件的数据变化导致虚拟DOM重新渲染并应用到实际DOM之后触发。具体来说,updated会在以下几种情况下被触发:

  • 初始渲染完成后:当组件首次渲染完成并将虚拟DOM渲染到实际DOM之后,updated钩子函数会被调用。

  • 响应式数据变化时:当组件中的响应式数据发生变化时,虚拟DOM会重新渲染并应用到实际DOM,此时updated钩子函数会被调用。

  • 需要注意的是,updated在虚拟DOM重新渲染后立即触发,此时实际DOM可能还没有更新完成。如果需要等待实际DOM更新完成后执行一些操作,则可以使用Vue.nextTick方法。

问题场景

  • 外层传入一个父项id给子组件,需要更具这个id初始化列表
    最初使用mounted钩子函数的时候,导致只有第一次的时候加载了数据
  • 但是业务需要外层每次变化,内层组件都需要初始化列表
  mounted() {
    console.log('costClassify mounted')
    this.refresh()
  },
  updated() {
    console.log('costClassify updated')
    this.refresh()
  }

但是这个地方使用watch好像也行

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue钩子函数可以通过在Vue实例中定义特定的函数来使用。这些钩子函数可以在Vue实例的生命周期中的不同阶段被调用。以下是几个常用的Vue钩子函数及其使用方法: 1. created(创建后):在实例创建完成后被调用。在这个阶段,实例的data对象已经初始化,可以对数据进行操作和更改,但是此时还没有替换虚拟DOM节点。通常可以用来进行初始数据的获取或结束loading。 2. beforeMount(挂载前):在实例挂载之前被调用。这个阶段,Vue实例的$el和data都已经初始化,但是虚拟DOM节点还没有被替换为真实DOM节点。在这个阶段也可以更改数据,不会触发其他的钩子函数。 3. mounted(挂载后):在实例挂载之后被调用。这个阶段,实例已经完成了对真实DOM的挂载,并且可以进行DOM操作。通常可以在这里执行一些初始化的DOM操作。 4. beforeUpdate(更新前):在数据更新之前被调用。在这个阶段,实例的data已经发生了改变,但是DOM还没有被重新渲染。可以用来在更新之前进行一些操作。 5. updated(更新后):在数据更新之后被调用。在这个阶段,Vue实例的data已经更新,并且虚拟DOM已经重新渲染成真实DOM。可以进行一些DOM操作。 6. beforeDestroy(销毁前):在实例销毁之前被调用。在这个阶段,实例还可以访问到data、methods等属性。可以用来进行一些清理工作。 7. destroyed(销毁后):在实例销毁之后被调用。在这个阶段,Vue实例已经被销毁,所有的事件监听和子组件也都被移除。可以进行一些最后的清理工作。 以上是Vue中常用的几个钩子函数的使用方法。根据不同的需求,可以选择合适的钩子函数来实现相应的功能。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值