最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue router重定向redirect如何傳值問(wèn)題

 更新時(shí)間:2023年10月23日 16:44:57   作者:352328759  
這篇文章主要介紹了Vue router重定向redirect如何傳值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Vue router重定向redirect如何傳值

配置 vue_router 時(shí), 很經(jīng)常就用到重定向(redirect)功能

例如:

沒登錄重定向到登錄頁(yè)面(導(dǎo)航衛(wèi)士攔截也是高效的登錄檢查方法)

index, home, house 重定向到首頁(yè)等

重定向 redirect 可接受的值

字符串

字符串作為 path 傳入, 相當(dāng)于 { path: redirect }

{
	...
	redirect: "/assets/assetsIndex",
	...
}
// 相當(dāng)于
{
	...
	redirect: { path: '/assets/assetsIndex' },
	...
}

對(duì)象

先判斷有沒有 name

有 name

發(fā)起跳轉(zhuǎn)處提供的 name, query, hash, params 會(huì)往下傳

如果 redirect 也提供了這些屬性則用 redirect 提供的往下傳

redirect: {
	name: 'assetsIndex',
	params: { id: 'redirect' },
}
// redirect 提供了 params, 目標(biāo)組件可以收到該 params 數(shù)據(jù)
// redirect 沒有提供, 目標(biāo)組件收到發(fā)起跳轉(zhuǎn)處的數(shù)據(jù)(發(fā)起跳轉(zhuǎn)是有數(shù)據(jù)的話)

沒有 name, 就找 path

計(jì)算后的 path 和 query, hash 會(huì)往下傳

如果 redirect 也提供了這些屬性則用 redirect 提供的往下傳

redirect: {
	path: 'assetsIndex',
	query: { id: 'redirect' },
}

方法

方法必須 return 一個(gè)字符串

return 的內(nèi)容最終作為 path 往下傳

所以提供的 params 將無(wú)效

redirect: function (to) {
	return 'assetsIndex'
}

這些不需要傳參的情況, 直接設(shè)置為目標(biāo)地址的字符串就可以

{
	path: "/assets",
	component: layout,
	redirect: "/assets/assetsIndex",
}

如果你遇到的需求需要傳值的話, 可以參考下面的方法

query 帶參跳轉(zhuǎn)

query 直接帶參就可以了, 缺點(diǎn)是地址中會(huì)暴露參數(shù)

// 發(fā)起跳轉(zhuǎn)
this.$router.push({ name: 'assets', query: { val: 'val值' } })
/* or */
this.$router.push({ path: '/assets', query: { id: '編程式_id' } })
/* or */
this.$router.push("/assets?id=編程式_id")

// 重定向
{
	path: "/assets",
	name: "assets",
	redirect: "/assetsHome",
}

// 目標(biāo)路由
{
	path: "/assetsHome",
	component: assetsHome,
},

// 目標(biāo)組件中取值
this.$route.query

params 帶參跳轉(zhuǎn)

params 帶參相對(duì)麻煩, 因?yàn)?quot;如果提供了 path,params 會(huì)被忽略"在 redirect 中也是成立的

所以我們可以知道, 不可以用 path 來(lái)設(shè)置路由

而 params 帶參的好處當(dāng)然就是可以在地址隱藏參數(shù)了

// 發(fā)起跳轉(zhuǎn)
this.$router.push({ name: 'assets', params: { id: '編程式_id' } })

// 重定向
{
	path: "/assets",
	name: "assets",
	redirect: { name: 'assetsHome' },
}

// 目標(biāo)路由
{
	path: "/assetsHome",
	name: "assetsHome",
	component: assetsHome,
}

// 目標(biāo)組件中取值
this.$route.params

動(dòng)態(tài)路徑帶參跳轉(zhuǎn)

本來(lái)是不想寫這個(gè)方法的, 因?yàn)楣P者本來(lái)就很討厭動(dòng)態(tài)路徑帶參, 覺得那個(gè)方法局限性太大, 加一個(gè)參數(shù)很麻煩, 還要順序要求

為了不要被讀者吐槽我懶(敲代碼本來(lái)就是為了偷懶嘛), 還是稍微寫一下

// 發(fā)起跳轉(zhuǎn)
this.$router.push({ path: '/assets/編程式_id' })

// 重定向
{
	path: "/assets/:id",
	name: "assets",
	redirect: { name: 'assetsHome' },
}

// 目標(biāo)路由
{
	path: "/assetsHome/:id",
	name: "assetsHome",
	component: assetsHome,
}

// 目標(biāo)組件中取值
this.$route.params

[題外話] 重定向和別名的區(qū)別

重定向是進(jìn)入 a, 然后自動(dòng)跳轉(zhuǎn)到 b

a 和 b 都是真實(shí)的路由地址, 這個(gè)過(guò)程經(jīng)過(guò)兩地址, 只是 a 不會(huì)被記錄

別名是進(jìn)入 a, 實(shí)際上是進(jìn)入 b

a 不是真實(shí)的路由地址, 這個(gè)過(guò)程自始至終都只是在 b 地址

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何解決elementUI打包上線后icon圖標(biāo)偶爾亂碼問(wèn)題

    如何解決elementUI打包上線后icon圖標(biāo)偶爾亂碼問(wèn)題

    文章描述了在使用若依框架開發(fā)過(guò)程中遇到的圖標(biāo)亂碼問(wèn)題,通過(guò)分析發(fā)現(xiàn)是由于sass編譯器將Unicode編碼轉(zhuǎn)換為明文導(dǎo)致的,文章提供了四種處理方法:使用css-unicode-loader、升高sass版本、替換element-ui的樣式文件和更換打包壓縮方式
    2025-01-01
  • vue3+vite使用svg圖片方式

    vue3+vite使用svg圖片方式

    這篇文章主要介紹了vue3+vite使用svg圖片方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2026-03-03
  • vue3.0中使用element的完整步驟

    vue3.0中使用element的完整步驟

    這篇文章主要給大家介紹了關(guān)于vue3.0中使用element的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 如何使用vue3打造一個(gè)物料庫(kù)

    如何使用vue3打造一個(gè)物料庫(kù)

    這篇文章主要介紹了如何使用vue3打造一個(gè)物料庫(kù),幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下
    2021-05-05
  • Vue3中使用ref與reactive創(chuàng)建響應(yīng)式數(shù)據(jù)的示例代碼

    Vue3中使用ref與reactive創(chuàng)建響應(yīng)式數(shù)據(jù)的示例代碼

    這篇文章主要介紹了Vue3中使用ref與reactive創(chuàng)建響應(yīng)式數(shù)據(jù)的方法,文中通過(guò)代碼示例講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-08-08
  • vue3?+?element-plus?的?upload?+?axios?+?django?實(shí)現(xiàn)文件上傳并保存功能

    vue3?+?element-plus?的?upload?+?axios?+?django?實(shí)現(xiàn)文件上

    這篇文章主要介紹了vue3?+?element-plus?的?upload?+?axios?+?django?文件上傳并保存,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-01-01
  • element-plus 在vue3 中不生效的原因解決方法(element-plus引入)

    element-plus 在vue3 中不生效的原因解決方法(element-plus引入)

    這篇文章主要介紹了element-plus 在vue3 中不生效的原因解決方法(element-plus引入),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • vue2項(xiàng)目使用element-ui的el-tabs組件導(dǎo)致瀏覽器崩潰卡死問(wèn)題

    vue2項(xiàng)目使用element-ui的el-tabs組件導(dǎo)致瀏覽器崩潰卡死問(wèn)題

    這篇文章主要介紹了vue2項(xiàng)目使用element-ui的el-tabs組件導(dǎo)致瀏覽器崩潰卡死問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • ElementPlus 中el-select自定義指令實(shí)現(xiàn)觸底加載請(qǐng)求options數(shù)據(jù)的方法

    ElementPlus 中el-select自定義指令實(shí)現(xiàn)觸底加載請(qǐng)求options數(shù)據(jù)的方法

    觸底時(shí),繼續(xù)向后端發(fā)請(qǐng)求獲取下一頁(yè)的數(shù)據(jù),請(qǐng)求回來(lái)的數(shù)據(jù)合并給options,這篇文章主要介紹了ElementPlus 中el-select自定義指令實(shí)現(xiàn)觸底加載請(qǐng)求options數(shù)據(jù)的操作方法,需要的朋友可以參考下
    2024-08-08
  • vue中的路由攔截器的作用詳解

    vue中的路由攔截器的作用詳解

    在Vue中,路由攔截器主要用于在導(dǎo)航到某個(gè)路由前或者離開某個(gè)路由時(shí)進(jìn)行攔截和處理,下面給大家介紹vue中的路由攔截器的作用,感興趣的朋友一起看看吧
    2024-07-07

最新評(píng)論

凤庆县| 哈密市| 湖州市| 三明市| 宁德市| 库伦旗| 新闻| 阿勒泰市| 和平区| 都兰县| 侯马市| 安国市| 保山市| 南华县| 孝感市| 深圳市| 定陶县| 介休市| 迭部县| 衡山县| 夏津县| 怀远县| 当雄县| 永兴县| 通州市| 柳江县| 东安县| 保德县| 衡阳县| 玉山县| 正镶白旗| 新竹市| 闸北区| 亚东县| 北宁市| 共和县| 芒康县| 闵行区| 四川省| 藁城市| 罗平县|