Vue路由跳轉(zhuǎn)傳參或打開(kāi)新頁(yè)面跳轉(zhuǎn)的方法總結(jié)
1. 通過(guò)路由中的name屬性
使用params
傳遞參數(shù), 使用this.$route.params
獲取參數(shù)
這種方式傳遞相當(dāng)于post
請(qǐng)求, 傳遞的數(shù)據(jù)不會(huì)顯示在url
地址欄,但是頁(yè)面刷新,參數(shù)會(huì)丟失
// 傳遞參數(shù) this.$router.push({ name: "首頁(yè)", params: { code: 1 } }) // 獲取參數(shù) this.$route.params
2. 通過(guò)路由屬性中的path屬性
使用query
傳遞參數(shù), 使用this.$route.query
獲取參數(shù)
這種方式相當(dāng)于get
請(qǐng)求, 傳遞的參數(shù)會(huì)顯示在url
地址欄, 頁(yè)面刷新,參數(shù)還保留在url
上面
// 傳遞參數(shù) this.$router.push({ path: "/dashboard", query: { code: 1 } }) // 獲取參數(shù) this.$route.query
在獲取傳遞參數(shù)的時(shí)候都是使用this.$route
3. $router 和 $route的區(qū)別
$router
可以看到$router
是全局路由VueRouter
實(shí)例
$route
是存放路由信息的一個(gè)對(duì)象, 傳遞的數(shù)據(jù)都是存放在$route
中
4. 在Vue項(xiàng)目中點(diǎn)擊跳轉(zhuǎn)打開(kāi)一個(gè)新的頁(yè)面
使用this.$router.resolve({path: "/login"})
可以獲取到指定的路由的信息
使用window.open(routeData.href, '_blank')
在新窗口中打開(kāi)指定的路由頁(yè)面
query:{code: 1}
傳遞參數(shù), 但是可以在url
地址欄中看到傳遞的參數(shù)
通過(guò)this.$route.query
獲取參數(shù)
let routeData = this.$router.resolve({ path: '/login',query: {loginName}}); window.open(routeData.href, '_blank');
vue的跳轉(zhuǎn)(打開(kāi)新頁(yè)面)
router-link跳轉(zhuǎn)
// 直接寫(xiě)上跳轉(zhuǎn)的地址 <router-link to="/detail/one"> <span class="spanfour" >link跳轉(zhuǎn)</span> </router-link> // 添加參數(shù) <router-link :to="{path:'/detail/two', query:{id:1,name:'vue'}}"> </router-link> // 參數(shù)獲取 id = this.$route.query.id // 新窗口打開(kāi) <router-link :to="{path:'/detail/three', query:{id:1,name:'vue'}}" target="_blank"> </router-link>
this.$router.push/replace跳轉(zhuǎn)
toDeail (e) { this.$router.push({path: "/detail", query: {id: e}}) } // 參數(shù)獲取 id = this.$route.query.id toDeail (e) { this.$router.push({name: "/detail", params: {id: e}}) } // 注意地址需寫(xiě)在 name后面 //參數(shù)獲取,params和query區(qū)別,query參數(shù)在地址欄顯示,params的參數(shù)不在地址欄顯示 id = this.$route.params.id
resolve跳轉(zhuǎn)
//resolve頁(yè)面跳轉(zhuǎn)可用新頁(yè)面打開(kāi) //2.1.0版本后,使用路由對(duì)象的resolve方法解析路由,可以得到location、router、href等目標(biāo)路由的信息。得到href就可以使用window.open開(kāi)新窗口了 toDeail (e) { const new = this.$router.resolve({name: '/detail', params: {id: e}}) window.open(new.href,'_blank') }
window.open()
1. 在當(dāng)前窗口打開(kāi)百度,并且使URL地址出現(xiàn)在搜索欄中.
window.open("http://www.baidu.com/", "_search"); window.open("http://www.baidu.com/", "_self");
2. 在一個(gè)新的窗口打開(kāi)百度
window.open("http://www.baidu.com/", "_blank");
3. 打開(kāi)一個(gè)新的窗口,并命名為"hello"
window.open("", "hello");
另外, open函數(shù)的第二個(gè)參數(shù)還有幾種選擇:
- _top : 如果頁(yè)面上有framesets,則url會(huì)取代framesets的最頂層, 即, 如果沒(méi)有framesets, 則效果等同于_self.
- _parent:url所指向的頁(yè)面加載到當(dāng)前frame的父親, 如果沒(méi)有則效果等同于_self.
- _media : url所指向的頁(yè)面加載到Media Bar所包含的HTML代碼區(qū)域中.如果沒(méi)有Media Bar則加到本身.
如果還要添加其它的東西在新的窗口上, 則需要第三個(gè)參數(shù):
- channelmode : yes|no|1|0 (窗口顯示為劇場(chǎng)模式[全屏幕顯示當(dāng)前網(wǎng)頁(yè), 包括工具欄等],或頻道模式[一般顯示]).
- directories : yes|no|1|0 (是否添加目錄按鈕, 比如在IE下可能會(huì)有一個(gè)"鏈接"這樣的按鈕在最上面出現(xiàn))
- fullscreen : yes|no|1|0 (使瀏覽器處理全屏幕模式, 并隱藏標(biāo)題欄和菜單等)
- menubar : yes|no|1|0 (是否顯示瀏覽器默認(rèn)的菜單欄)
- resizeable : yes|no|1|0 (窗口是否可調(diào)整大小)
- scrollbars : yes|no|1|0 (是否允許水平或垂直滑動(dòng)條)
- titlebar : yes|no|1|0 (是否添加一個(gè)標(biāo)題欄)
- toolbar : yes|no|1|0 (是否添加瀏覽器默認(rèn)的工具欄)
- status : yes|no|1|0 (是否顯示狀態(tài)欄)
- location : yes|no|1|0 (是否顯示搜索欄)
- copyhistory : yes|no|1|0 (似乎已經(jīng)廢棄, 如果只要工具欄顯示, 歷史按鈕就會(huì)顯示出來(lái))
- height : 窗口的高度, 最小值為100像素
- width : 窗口的寬度, 最小值為w100像素
- left : 窗口的最左邊相對(duì)于屏幕的距離
總結(jié)
到此這篇關(guān)于Vue路由跳轉(zhuǎn)傳參或打開(kāi)新頁(yè)面跳轉(zhuǎn)的文章就介紹到這了,更多相關(guān)Vue路由跳轉(zhuǎn)傳參內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- uniapp+vue3路由跳轉(zhuǎn)傳參的實(shí)現(xiàn)
- vue3路由跳轉(zhuǎn)params傳參接收不到的解決辦法
- vue3路由配置以及路由跳轉(zhuǎn)傳參詳解
- Vue路由跳轉(zhuǎn)傳參或者打開(kāi)新頁(yè)面跳轉(zhuǎn)問(wèn)題
- vue3.0?router路由跳轉(zhuǎn)傳參問(wèn)題(router.push)
- vue路由跳轉(zhuǎn)傳參數(shù)的方法
- vue路由對(duì)不同界面進(jìn)行傳參及跳轉(zhuǎn)的總結(jié)
- Vue項(xiàng)目三級(jí)聯(lián)動(dòng)路由跳轉(zhuǎn)與傳參的思路詳解
相關(guān)文章
前端(VUE)打包上線(xiàn)去除console.log解決方案
這篇文章主要介紹了如何在前端項(xiàng)目中使用terser-webpack-plugin插件來(lái)刪除代碼中的console.log語(yǔ)句,以避免在正式環(huán)境中輸出調(diào)試信息,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-02-02vue template當(dāng)中style背景設(shè)置不編譯問(wèn)題
這篇文章主要介紹了vue template當(dāng)中style背景設(shè)置不編譯問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04使用webpack搭建vue項(xiàng)目及注意事項(xiàng)
這篇文章主要介紹了使用webpack搭建vue項(xiàng)目的方法,本文以開(kāi)發(fā)環(huán)境為例,通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06vue3導(dǎo)入excel并解析excel數(shù)據(jù)渲染到表格中(純前端實(shí)現(xiàn))
在Vue中實(shí)現(xiàn)導(dǎo)出Excel有多種方式,可以通過(guò)前端實(shí)現(xiàn),也可以通過(guò)前后端配合實(shí)現(xiàn),下面這篇文章主要給大家介紹了關(guān)于vue3導(dǎo)入excel并解析excel數(shù)據(jù)渲染到表格中的相關(guān)資料,文中介紹的方法是純前端實(shí)現(xiàn),需要的朋友可以參考下2024-04-04基于vue.js中關(guān)于下拉框的值默認(rèn)及綁定問(wèn)題
今天小編就為大家分享一篇基于vue.js中關(guān)于下拉框的值默認(rèn)及綁定問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08vue2.x 從vue.config.js配置到項(xiàng)目?jī)?yōu)化
這篇文章主要介紹了vue2.x 從vue.config.js配置到項(xiàng)目?jī)?yōu)化,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04vue動(dòng)態(tài)修改頁(yè)面title的兩種方法
本文主要介紹了vue動(dòng)態(tài)修改頁(yè)面title的兩種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06vue跳轉(zhuǎn)頁(yè)面常用的4種方法與區(qū)別小結(jié)
這篇文章主要給大家介紹了關(guān)于vue跳轉(zhuǎn)頁(yè)面常用的4種方法與區(qū)別,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-03-03