最近做乙個專案,使用 vue 搭建,乙個簡單的列表遍歷渲染,一切正常,但是自己手機卻出現了問題,列表只顯示第一屏,滑動後都是空白。
定位bug
自己是 ios 13.5 系統,於是找了安卓和蘋果都做了測試,發現安卓和 ios 12 並沒有問題,ios 13 有同樣的問題,於是鎖定版本。
bug描述
使用 v-for 遍歷後 list 只有部分可以顯示,其餘空白。連線電腦發現 dom 並沒有消失,經過一系列排查最終鎖定到 position: relative 定位屬性上,去掉頁面即正常
系統及版本
vue:2.x
vue-cli:4.4.6
系統:ios 13.5
解決方案
在滾動父級新增樣式
-webkit-overflow-scrolling: touch;
即可 vue 列表渲染v for
我們可以用v for指令基於乙個陣列來渲染乙個列表。v for指令需要使用 item in items 形式的特殊語法,其中items是源資料陣列,而item則是被迭代的陣列元素的別名。lang en charset utf 8 name viewport content width device ...
vue中v for的使用
for item,index in list key index p data 結果 people1 people2 people3for index,value,key in obj p data 結果0 name 哈哈哈1 男2 age 21當他們處於同一節點,v for的優先順序高於v if,...
Vue原始碼後記 vFor列表渲染(3)
經過dom字串的ast轉化,再通過render變成vnode,最後就剩下patch到頁面上了。render函式跑完應該是在這裡 function mountcomponent vm,el,hydrating beforemount varupdatecomponent istanbul ignore...