1.場景
在處理串列時,常常有洗掉一條資料或者新增資料之后需要重新重繪當前頁面的需求,
2.遇到的問題
1. 用vue-router重新路由到當前頁面,頁面是不進行重繪的
2.采用window.reload(),或者router.go(0)重繪時,整個瀏覽器進行了重新加載,閃爍,體驗不好
3.解決方法
provide / inject 組合
作用:允許一個祖先組件向其所有子孫后代注入一個依賴,不論組件層次有多深,并在起上下游關系成立的時間里始終生效,
App.vue:
宣告reload方法,控制router-view的顯示或隱藏,從而控制頁面的再次加載

tableList.vue:
在頁面注入App.vue組件提供(provide)的 reload 依賴,在邏輯完成之后(洗掉或添加...),直接this.reload()呼叫,即可重繪當前頁面,

4.provide / inject 用法
provide:選項應該是一個物件或回傳一個物件的函式,該物件包含可注入其子孫的屬性,
inject:一個字串陣列,或一個物件,物件的 key 是本地的系結名
提示:provide 和 inject 系結并不是可回應的,這是刻意為之的,如果你傳入了一個可監聽的物件,那么其物件的屬性還是可回應的,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/889.html
標籤:HTML5
上一篇:室內外一體化三維地圖編輯器新功能上線-三維模型庫自定義和地圖主題編輯
下一篇:記錄一些作業知識

