亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Vue router重定向redirect如何傳值問題

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

Vue router重定向redirect如何傳值

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

例如:

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

index, home, house 重定向到首頁等

重定向 redirect 可接受的值

字符串

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

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

對象

先判斷有沒有 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 將無效

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

所以我們可以知道, 不可以用 path 來設(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)

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

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

// 發(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è)過程經(jīng)過兩地址, 只是 a 不會(huì)被記錄

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

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

總結(jié)

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

相關(guān)文章

  • vue攔截器實(shí)現(xiàn)統(tǒng)一token,并兼容IE9驗(yàn)證功能

    vue攔截器實(shí)現(xiàn)統(tǒng)一token,并兼容IE9驗(yàn)證功能

    這篇文章主要介紹了vue攔截器實(shí)現(xiàn)統(tǒng)一token,并兼容IE9驗(yàn)證功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2018-04-04
  • vue獲取當(dāng)前路由的五種方式示例代碼

    vue獲取當(dāng)前路由的五種方式示例代碼

    這篇文章主要給大家介紹了關(guān)于vue獲取當(dāng)前路由的五種方式,文中通過代碼示例介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-08-08
  • Vue遞歸實(shí)現(xiàn)樹形菜單方法實(shí)例

    Vue遞歸實(shí)現(xiàn)樹形菜單方法實(shí)例

    學(xué)習(xí)vue有一段時(shí)間了,最近使用vue做了一套后臺(tái)管理系統(tǒng),其中使用最多就是遞歸組件,下面這篇文章主要給大家介紹了關(guān)于Vue利用遞歸實(shí)現(xiàn)樹形菜單的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-11-11
  • Vue如何實(shí)現(xiàn)文件預(yù)覽和下載功能的前端上傳組件

    Vue如何實(shí)現(xiàn)文件預(yù)覽和下載功能的前端上傳組件

    在Vue.js項(xiàng)目中,使用ElementUI的el-upload組件可以輕松實(shí)現(xiàn)文件上傳功能,通過配置組件參數(shù)和實(shí)現(xiàn)相應(yīng)的方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-09-09
  • 解決Echarts 顯示隱藏后寬度高度變小的問題

    解決Echarts 顯示隱藏后寬度高度變小的問題

    這篇文章主要介紹了解決Echarts 顯示隱藏后寬度高度變小的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • LogicFlow內(nèi)置菜單插件實(shí)例詳解

    LogicFlow內(nèi)置菜單插件實(shí)例詳解

    這篇文章主要為大家介紹了LogicFlow內(nèi)置菜單插件實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • vue中 process.env與process.VUE_CLI_SERVICE詳解

    vue中 process.env與process.VUE_CLI_SERVICE詳解

    這篇文章主要介紹了vue中process.env與process.VUE_CLI_SERVICE的相關(guān)資料,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-05-05
  • vue獲取當(dāng)前激活路由的方法

    vue獲取當(dāng)前激活路由的方法

    下面小編就為大家分享一篇vue獲取當(dāng)前激活路由的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • vue3實(shí)現(xiàn)無縫滾動(dòng)列表效果(大屏數(shù)據(jù)輪播場景)

    vue3實(shí)現(xiàn)無縫滾動(dòng)列表效果(大屏數(shù)據(jù)輪播場景)

    vue3-scroll-seamless 是一個(gè)用于 Vue 3 的插件,用于實(shí)現(xiàn)無縫滾動(dòng)的組件,它可以讓內(nèi)容在水平或垂直方向上無縫滾動(dòng),適用于展示輪播圖、新聞滾動(dòng)、圖片展示等場景,本文就給大家介紹了vue3實(shí)現(xiàn)無縫滾動(dòng)列表效果,需要的朋友可以參考下
    2024-07-07
  • vue.js組件vue-waterfall-easy實(shí)現(xiàn)瀑布流效果

    vue.js組件vue-waterfall-easy實(shí)現(xiàn)瀑布流效果

    這篇文章主要為大家詳細(xì)介紹了vue.js實(shí)現(xiàn)瀑布流之vue-waterfall-easy的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08

最新評論