zoukankan      html  css  js  c++  java
  • vue中nextTick

    vue中nextTick可以拿到更新后的DOM元素

    如果在mounted下不能准确拿到DOM元素,可以使用nextTick

    在Vue生命周期的created()钩子函数进行的DOM操作一定要放在Vue.nextTick()的回调函数中

    <div id="app">
          <div ref="msgDiv">{{msg}}</div>
          <div v-if="msg1">消息已传出: {{msg1}}</div>
          <div v-if="msg2">消息已传出: {{msg2}}</div>
          <div v-if="msg3">消息已传出: {{msg3}}</div>
          <br>
          <button @click="changeMsg">点我改变</button>
    </div>
     1 new Vue({
     2   el:'#app',
     3   data:{
     4     msg:'你好,vue',
     5     msg1:'',
     6     msg2:'',
     7     msg3:''
     8   },
     9   methods:{
    10     changeMsg(){
    11       this.msg = 'hello world'
    12       this.msg1 = this.$refs.msgDiv.innerHTML
    13       this.$nextTick(()=>{
    14         this.msg2 = this.$refs.msgDiv.innerHTML
    15       })
    16       this.msg3 = this.$refs.msgDiv.innerHTML
    17     } 
    18   }
    19  });

    点击之前

    点击之后

    结果:msg1和msg3显示的内容还是变换之前的,而msg2显示的内容是变换之后的

    说明Vue中DOM更新是异步的

  • 相关阅读:
    Handlerbars基础笔记
    each()和eq()
    可编辑表格(Editable Table)
    垂直居中vertical-align
    CSS属性的私有前缀
    CSS进阶知识
    CSS预处理器们
    CSS3之伪元素选择器和伪类选择器
    CSS基础复习
    Plan
  • 原文地址:https://www.cnblogs.com/theblogs/p/10439843.html
Copyright © 2011-2022 走看看