一、傳的參數是數組數組
傳遞參數的頁面函數
let setStr = encodeURIComponent(JSON.stringify(this.tableData)); this.$router.push('/send/setMessageSelf?setStr=' + setStr);
接收參數頁面:ui
mounted(){ let setArray = JSON.parse(this.$route.query.setStr); console.log(setArray); },
解釋:this
首先是let一個數組,這個數組是我要傳遞給另外一個頁面的參數,若是直接傳就會變成[object object],因此咱們須要經過JSON.stringify(數組)來把這個數組變成一個字符串,把它變成字符串後,若是直接傳遞,正常來講是沒有問題的,可是當咱們碰到有特殊符號的時候,比方說咱們其中有一個數據是一串網址,那轉換就會遇到問題,因此咱們須要使encodeURIComponent()函數把轉換出來的字符串進行編碼,encodeURIComponent()函數可把字符串做爲URI 組件進行編碼,該方法不會對 ASCII 字母和數字進行編碼,也不會對這些 ASCII 標點符號進行編碼: - _ . ! ~ * ' ( ) ,這樣咱們就能獲得咱們想要的字符串了。編碼
由於咱們是把數組變成了字符串傳過去的,因此咱們在接收到這個字符串的時候,須要對它進行JSON.parse()轉成咱們要的數組。spa
二、傳遞的是字符串code
傳遞參數的頁面:component
this.$router.push('/message/advise/' + this.id);
接收參數的頁面:orm
id: this.$route.params.id,
路由設置:router
{ path: '/message/advise/:id', name: '活動——編輯-推薦信息', component: resolve =>void(require(['@/views/admin/message/activityInformation/Advise'], resolve)) },