nextTick的使用场景

234 阅读1分钟

vue中的nextTick主要用于处理数据动态变化后,DOM还未及时更新的问题,用nextTick就可以获取数据更新后最新DOM的变化

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/vue.min.js"></script>
</head>
<body>
    <div id="app">
        <div id="div" v-if="showDiv">这是一段文本</div>
        <button @click="getText">获取div内容</button>
    </div>
</body>
</html>
<script>
    var app = new Vue({
        el : "#app",
        data:{
            showDiv : false
        },
        methods:{
            // getText:function(){
            //     this.showDiv = true;
            //     var text = document.getElementById('div').innnerHTML;
            //     console.log(text);
            // }
            getText:function(){
            this.showDiv = true;
            this.$nextTick(function(){
                  var text = document.getElementById('div').innnerHTML;
                 console.log(text);  
            });
        }
        }
    })
</script>