$nextTick

Vue 更新DOM是异步执行的,修改数据后,视图不会立即更新,会等同一事件循环中的所有数据都变化后再统一更新视图,如果想修改数据 立即就能对修改后的视图进行操作 可以使用$nextTick

使用场景:

        操作DOM元素:数据变化后,立即对修改后的DOM元素进行操作

        获取最新DOM状态:在数据变化后,可使用$nextTick能确认DOM已经更新,然后再进行相关操作

        执行延迟操作:所有的DOM更新 和 计算完成后,再进行一些操作,可以用$nextTick

<template>

  <div>

    <button @click="updateData">Update Data</button>

    <div ref="myDiv">{{someData}}</div>

  </div>

</template>

<script>

export default {

  data () {

    return {

      someData: 'some text'

    }

  },

  methods: {   

    updateData () {

      // 更新数据

      this.someData = 'new data'

      // 等待 DOM 更新完成后执行操作

      this.$nextTick(() => {

        console.log('DOM has been updated')

   

        this.$refs.myDiv.textContent = 'Updated text'

      })

    }

  }

}

</script>

点击【Update Data]按钮:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值