前言:
? ? ? ? 在寫項目的時候,使用了 vue-router 的 params 進行傳參,但是在詳情頁面中一直獲取不到參數。原因:Vue Router 在2022-8-22的那次更新后,使用這種方式在新頁面上無法獲取!
正文:
?在列表頁進行路由跳轉
在詳情頁獲取params的值
?打印結果為空對象!!!
?解決方式:
?根據文檔給出的解決方法,我選擇第二種當時,通過path和query進行傳參;注意:query傳參只能用路由表中的 path? ,并且所有參數都會顯示在URL 地址上。
?列表頁:
?詳情頁:
總結:
vue3項目進行路由傳參最好不要使用 params,可以使用
? ? ? ? 1、path + query 進行傳參,但是參數會顯示在地址欄里
? ? ? ? 2、將參數放在 pinia 或 vuex 倉庫里
? ? ? ? 3、使用動態路由匹配
? ? ? ? 4、傳遞 state ,在新頁面使用 History API 接受參數
? ? ? ? 5、使用 meta 原信息方式傳遞
方式4實現代碼:
?列表頁:
詳情頁獲取參數:
?控制臺打印結果: