nextTick的作用?

2020-05-19  本文已影响0人  南漂一枚

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>Vue 测试实例 - 菜鸟教程(runoob.com)</title>

<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>

</head>

<body>

<div id="app">

  <div ref="msgDiv">{{msg}}</div>

  <div v-if="msg1">Message got outside $nextTick: {{msg1}}</div>

  <div v-if="msg2">Message got inside $nextTick: {{msg2}}</div>

  <div v-if="msg3">Message got outside $nextTick: {{msg3}}</div>

  <button @click="changeMsg">

    Change the Message

  </button>

</div>

<script>

new Vue({

  el: '#app',

  data: {

    msg: 'Hello Vue.',

    msg1: '',

    msg2: '',

    msg3: ''

  },

  methods: {

    changeMsg() {

      this.msg = "Hello world."

      this.msg1 = this.$refs.msgDiv.innerHTML

      this.$nextTick(() => {

        this.msg2 = this.$refs.msgDiv.innerHTML

      })

      this.msg3 = this.$refs.msgDiv.innerHTML

    }

  }

})

</script>

</body>

</html>

dom是异步渲染的.

      this.msg1 = this.$refs.msgDiv.innerHTML  这里要等渲染完成后才执行。

所有这里是原来的值,于是就是原来的值,要马上执行更新,就要是用nextTick

上一篇 下一篇

猜你喜欢

热点阅读