查百度問同事知道壹個叫keep-alive的東西,於是決定試試這個內置組件。
然後發現問題,真的可以得到結局,但是又出現了新的問題,如圖:
問題1:界面雖然緩存了,但是在退出上壹頁重新進入時還是緩存了。我覺得這不合理。
問題2:緩存的界面從上壹頁重新進入時,動畫效果不正確。
基於這兩個問題,我也查了壹些資料和博客,也總結了第二套方案。
該等級用於確定當前組件的級別。
比如組分A->;b組分->;分量c,那麽a的秩是1,b的秩是2,c的秩是3,
在beforeRouteLeave中,
這樣看似解決了問題,但是!!!
問題1:這個回歸動畫就是不對...(圖片在瀏覽器裏可能看不出什麽問題,但在真機裏很明顯)因為這壹幀是前端給的動畫,我也不會做...如果能解決跳躍動畫的問題,我覺得這個方案基本能滿足要求...如果有大老板能解決,方便的話我以後不用看了。...
問題2:有時候會有壹個bug緩存了上次(不知道為什麽...它出現得相當頻繁...).
這是我自己對壹個計劃的總結...雖然它可以很好地解決這些問題,但它對開發不友好,維護成本太高...不建議(如果實在沒辦法的話)。
首先在vuex中定義需要緩存的接口的數據(先測試滑動,所以只能單獨寫壹個數據)。
先說高度滑動。滑動高度也需要節省。界面中使用了cube-ui的滾動組件。
向數據添加scrollHeight屬性緩存接口高度。還有壹個數據模型需要緩存。
當界面滑動停止時,調用scrollend方法分配scrollHeight。
每次進入界面,取出創建的函數中緩存的高度,如果有高度,讓它自動滑動,重新賦值scrollHeight。
這是我打包的js..實現是這樣的。
這確保了滑動緩存(數據類似於高度)。
這是js的數據
當接口跳轉時,判斷組件的等級如下:
在進入的時候