在作vue的時候,常常會遇到組件之間數據的傳遞問題,經過params或者query傳參,可是,當頁面刷新的時候,數據會丟失,找不到數據。今天通過總結,解決了這個問題。經過了一下幾種狀況進行傳值:vue
1.經過params傳參vuex
先在路由path裏那個組件須要傳遞參數,定義一個參數,用於組件傳遞,params刷新頁面數據會丟失。數組
path: "/chatView/:user" //這裏值用:加參數的寫法,user即爲參數,注意必定要用/隔開
在你的組件中,經過點擊傳遞參數,targetUser傳的參數函數
而後須要用的組件接受,經過beforeRouteEnter進入路由以前執行的函數url
1.經過query傳參spa
路由傳值有兩種方式,params和query,params傳值刷新頁面是要消失的,然而query卻不會,二者的區別就在於query會把傳遞的參數顯示在url地址中,就像下面這樣code
也是在你的組件中,執行什麼方法。觸發什麼事件,把參數傳遞過去對象
JSON.stringify() 方法是將一個JavaScript值(對象或者數組)轉換爲一個 JSON字符串blog
而後須要用的組件接受,經過beforeRouteEnter進入路由以前執行的函數事件
這樣不管怎麼刷新,數據都不會丟失。
3.經過vuex取
最好辦的就是經過vuex來存和取你的數據,把你的數據都存在vuex中,而後那個組件須要,直接調用vuex的getters來獲取數據就行。
在你的getters文件中
在組件中若是想取到的話,直接經過計算屬性。
以上是路由傳參和vuex存值、傳值的時候刷新頁面數據消失的解決辦法。喜歡的能夠關注一下。