国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

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

2019-11-19 14:08:52
字體:
來源:轉載
供稿:網友

現象:

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

下面是出錯部分:

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

原因查找:

經過調試發現是在新增節點后,執行DOM操作獲取節點時,取到的仍是之前的結構,新增的節點并未獲取到。

原因分析:

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

解決方法:

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

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

結果:

依據上述原理,將DOM操作的函數在更新數據后在nextTick里調用,實現了理想中的效果。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 天柱县| 武平县| 西宁市| 丰宁| 全南县| 通城县| 芷江| 勃利县| 太白县| 昌江| 黄陵县| 长子县| 黑河市| 岳阳市| 成武县| 永昌县| 哈密市| 连云港市| 自贡市| 伊吾县| 康定县| 佛教| 吉林省| 汽车| 嵊泗县| 万载县| 七台河市| 永和县| 宽甸| 饶河县| 禹城市| 新宁县| 沙湾县| 镇原县| 东城区| 黎城县| 东宁县| 蓬安县| 健康| 广元市| 萝北县|