在DOM改变之后, $nextTick执行的方法里面回调 ,可以获取更新后的DOM,然后再做其他操作。。
html:
<body>
<div id="app">
<div ref = "box">{{msg}}</div>
<div>msg1的值是:{{msg1}}</div>
<div>msg2的值是:{{msg2}}</div>
<button @click="change">点我改变msg的值</button>
</div>
</body>
js:
<script type="text/javascript">
new Vue({
el:'#app',
data:{
msg:'hello',
msg1:'',
msg2:'',
},
methods:{
change(){
this.msg = "Hello world"
this.msg1=this.$refs.box.innerHTML;
this.$nextTick(() => {
this.msg2 = this.$refs.box.innerHTML;
})
}
}
})
</script>
运行结果如下:
初始值: 改变后:
hello | Hello world |
msg1的值是: | msg1的值是:hello |
msg2的值是: | msg2的值是:Hello world |