vue項目組件中滾動條無法調整位置解決辦法

今天做項目遇到的一個問題,普通的HTML裏面給滾動條定位的時候,直接是兩步走

1、var box=document.getElementById("box");

2、box.scrollTop=box.scrollHeight;
但是公司項目卻是vue項目,所以這樣寫不生效,在控制檯查看scrollTop屬性始終是0。

最終翻了很多網頁終於找到了答案:this.$nextTick

簡單的介紹下$nextTick:

Vue 實現響應式並不是數據發生變化之後 DOM 立即變化,而是按一定的策略進行 DOM 的更新。

$nextTick 是在下次 DOM 更新循環結束之後執行延遲迴調,在修改數據之後使用 。

既然$nextTick是在下次DOM更新時執行的,那正好用。

果然是成功把滾動條定位到底部。

       總結一下就是    如果我們想對未來更新後的視圖進行操作,我們只需要把要執行的函數傳遞給this.$nextTick方法,vue就會給我們做這個工作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章