App混合開發,webview內嵌vue的vue-router路由問題


項目為了快速開發,IOS和安卓都只搭了一個框架,用webview調用html來實現app的各項功能,由於是第一次做混合開發,以為安卓和蘋果用一套代碼就萬事大吉了,萬萬沒想到我還是太天真了,各種兼容性問題搞得頭皮發麻,下面這個問題就是vue-router在安卓中的問題:

      跳轉頁面的時候用的是router.push,而push的時候會有跳轉記錄,導致按安卓的返回鍵的時候跳轉錯亂,比如說頁面順序是A-B-C,在C里面修改數據后push跳轉到B頁面,按邏輯來說,這時候按返回應該回到A頁面,但是因為push有跳轉記錄,按返回鍵就會出現這樣的問題:B-C-B-A,在網上找了挺多資料,有人說用router.go(n),router不帶參數的時候確實可以,但是帶參數就不行了,然后下面是我的解決辦法,僅供參考,如果有問題可以評論溝通~~

 

     router.replace(),用法和push類似,也可以帶參數跳轉,但是會替換掉當前跳轉記錄,在A-B-C的時候仍舊用router.push,記錄下跳轉的順序,然后從C回到B頁面的時候用router.replace替換掉當前的歷史記錄,這樣使用安卓的返回鍵就可以正常的從B頁面回到A頁面了。

 

     本人菜鳥一枚,上述如有錯誤還請大家多多包涵~~~

     ps:安卓的返回鍵真的問題巨多,帶參數跳轉的話還是建議不要用這種方法了,重新請求數據或者存放在vuex里面吧。。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM