vue中有一個dom操作的函數,叫做$nextTick,可以用來異步更新dom。
但是有時候我們需要延遲更長時間后再更新dom,這時可以使用JavaScript原生的setTimeout函數。
setTimeout(() =>{
// 定時器回調函數中更新dom
this.$refs.element.innerHTML = '新內容'
}, 1000)
在setTimeout的回調函數中,可以像平常一樣更新dom,比如更改元素的innerHTML或style屬性等。
需要注意的是,當使用setTimeout更新dom時,需要手動銷毀定時器,否則會導致內存泄漏。可以將定時器的返回值存儲在一個變量中,在組件銷毀時執行clearTimeout函數。
mounted() {
this.timer = setTimeout(() =>{
this.$refs.element.innerHTML = '新內容'
this.clearTimer()
}, 1000)
},
methods: {
clearTimer() {
clearTimeout(this.timer)
}
},
beforeDestroy() {
this.clearTimer()
}
這樣就可以安全地使用setTimeout來延遲更新dom了。
上一篇c 去json里 的字段
下一篇python 標準庫文件