vue 中$nextTick的使用

前言

官方文档是这样解释的:Vue 在更新 DOM 时是异步执行的,为了在数据变化之后等待 Vue 完成更新 DOM,可以在数据变化之后立即使用 Vue.nextTick(callback)。这样回调函数将在 DOM 更新完成后被调用。

  • 演示代码
<body>
    <div id="app">
        <p id="content">{{msg}}</p>
        <button @click='changeContent'>改变内容</button>
    </div>
</body>
<script>
    let vm = new Vue({
        el:'#app',
        data:{
            msg:'正常内容'
        },
        methods:{
            changeContent:function(){
                this.msg ='改变后的内容';
            
                let p = document.getElementById('content').innerHTML;
                console.log(p)

                this.$nextTick(function () {
                    let changeP = document.getElementById("content").innerHTML;
                    console.log("nextTick里面的内容", changeP);
                })
            }
        }
    })
</script>
  • 效果:
    1.点击前
    在这里插入图片描述
    2.点击后:
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qg2276879379/article/details/107508604