欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決vue頁面DOM操作不生效的問題

 更新時間:2018年03月17日 12:03:18   作者:fengjingyu1689  
下面小編就為大家分享一篇解決vue頁面DOM操作不生效的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

現(xiàn)象:

使用Element UI渲染了一個樹形結構,設計在鼠標移入每個節(jié)點是顯示其中的操作按鈕,效果如下:

下面是出錯部分:

在新增節(jié)點后移入新增節(jié)點附近(圖中是移入一級2),功能按鈕的顯示位置出現(xiàn)偏移

原因查找:

經(jīng)過調(diào)試發(fā)現(xiàn)是在新增節(jié)點后,執(zhí)行DOM操作獲取節(jié)點時,取到的仍是之前的結構,新增的節(jié)點并未獲取到。

原因分析:

猜測是vue使用的虛擬DOM,使得頁面雖然已經(jīng)渲染出來,但在Vue實例中讓處在在虛擬DOM中,無法獲取。

解決方法:

使用Vue.nextTick,看下官方材料:

‘在下次 DOM 更新循環(huán)結束之后執(zhí)行延遲回調(diào)',這句話不是特別理解,不過可以看出DOM更新是一個循環(huán)的過程,在過程結束之前無法獲取到真實的DOM元素(至于這個循環(huán)是多久,還在探索中)。而將DOM操作放在nextTick中操作便可以獲取到更新后的DOM。

結果:

依據(jù)上述原理,將DOM操作的函數(shù)在更新數(shù)據(jù)后在nextTick里調(diào)用,實現(xiàn)了理想中的效果。

以上這篇解決vue頁面DOM操作不生效的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論