Vue路由傳參頁面重新整理丟失

2021-10-25 02:01:51 字數 1340 閱讀 5717

今天做乙個專案,頁面直接傳遞的引數都非常好,但是一重新整理就各種報錯,一查原來url後面的傳遞的引數丟失了,於是便去找解決方案,下面總結一下:

vue中給我們提供了三種路由傳參方式,下面我們乙個乙個的來看一下:

方法一:params傳參:

this

.$router.

push(}

)//這個元件對應的路由配置

通過params傳遞引數,如果我們想獲取id的 引數值,我們可以通過this.$route.params.id這種方式來列印出來就可以得到了;(注意:獲取引數的時候是$route,跳轉和傳參的時候是$router

$router : 是路由操作物件,只寫物件

$route : 路由資訊物件,唯讀物件

方法二:路由屬性配置傳參:

this

.$router.

push("

,})//這個元件對應的路由配置

通過路由屬性配置傳參我們可以用this.$route.params.id來獲取到id的值,注意this.$router.push方法裡面路徑帶的是值,路由配置項那裡帶的是變數名(屬性名)來實現的對應;

以上兩種傳參方式基本上可以理解為ajax中的post請求方式,引數都是不可見的,但是上面兩種方法都有乙個弊端,就是當頁面重新整理了是獲取不到引數值的,那麼有沒有一種方法是頁面重新整理之後引數依然存在呢?

方法三:query傳參

this

.$router.

push(}

)//這個元件對應的路由配置

第三種方式是用query來傳參,這種方式是可以解決頁面重新整理引數消失問題的,這種方式可以理解為是ajax中的get方法,引數是直接在url後面新增的,引數是可見的,所以解決頁面重新整理引數消失問題建議使用方法三來解決;

其實解決頁面重新整理引數丟失問題的方案還有很多,比如把引數存在sessionstorange或者localstorange中都是可行的,不過我們既然用vue框架,就要用vue的方式來解決問題。這裡只是想告訴大家,問題的解決方案可以多種多樣,要學會用多種方式或者說多種方案來解決乙個問題,不要有太多的侷限性!

而我的專案由於之前被設定了重新整理後擷取url 的引數,所以方法3也解決不了,無奈只能老老實實使用sessionstorange,注意使用完清除掉就可以了。

vue路由傳參頁面重新整理引數丟失問題解決方案

最近專案中涉及到跨頁面傳引數和後台進行資料互動,看到需求之後第一反應就是用路由傳參來解決 vue中給我們提供了三種路由傳參方式,下面我們乙個乙個的來看一下 方法一 params傳參 this router.push 這個元件對應的路由配置 通過params傳遞引數,如果我們想獲取id的 引數值,我們...

vue路由傳參並跳轉頁面

方式一 query傳參 傳參 go 跳轉後頁面取參 mounted but 瀏覽器位址列中顯示如下,所以如果引數保密,該方式慎用啦 方式二 parms傳參 傳參 go 跳轉後頁面取參 mounted 是的就是這麼相似,但是傳遞的引數就不會顯示在位址列了,但是有沒有注意到跳轉路徑的name值必傳是不是...

Vue路由傳參

getdescribe id 方案一,需要對應路由配置如下 很顯然,需要在path中新增 id來對應 rou ter.push 中pat h攜帶的 引數。在 子元件中 可以使用 來獲取傳 遞的引數 值。th is router.push 中path攜帶的引數。在子元件中可以使用來獲取傳遞的引數值。t...