簡(jiǎn)述問(wèn)題 : 動(dòng)態(tài)路由在切換組件的時(shí)候 突然空白 刷新一下就好了豁翎,控制臺(tái)有報(bào)錯(cuò) 本地不存在問(wèn)題 打包以后問(wèn)題才出現(xiàn)
TypeError: Cannot read properties of null (reading 'insertBefore')
搜索解決辦法
1、v-if 導(dǎo)致
在 v-if 值為 false 時(shí)匀哄,如果操作了 v-if 控制的 DOM,可能會(huì)因?yàn)樵?DOM 元素不存在而報(bào)錯(cuò)菜循。
解決方案:v-show 替換 v-if
2利赋、el-dialog 組件導(dǎo)致
默認(rèn)彈框是關(guān)閉的,DOM中沒(méi)有彈框中的內(nèi)容浑玛。打開(kāi)彈框再關(guān)閉后,彈框中的 DOM 元素沒(méi)有被銷(xiāo)毀噩咪,可能會(huì)因?yàn)椴辉摯嬖诘?DOM 元素而報(bào)錯(cuò)(我的報(bào)錯(cuò)就是由此導(dǎo)致)顾彰。
解決方案:給 el-dialog 組件增加 destroy-on-close 屬性
3、el-table 組件導(dǎo)致
el-table-column渲染時(shí)報(bào)錯(cuò)胃碾,若 scope.row.field(field為任意字段值)不存在涨享,對(duì)其直接執(zhí)行 length、toString() 等方法而報(bào)錯(cuò)仆百。
解決方案:scope.row.field?.length
解決的辦法是第三種 將所有插槽內(nèi)容添加三元運(yùn)算 渲染過(guò)程中報(bào)錯(cuò)厕隧,重新渲染就沒(méi)問(wèn)題了