Vue this.$router.push(參數(shù))實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)操作
很多情況下,我們?cè)趫?zhí)行點(diǎn)擊按鈕跳轉(zhuǎn)頁(yè)面之前還會(huì)執(zhí)行一系列方法,這時(shí)可以使用 this.$router.push(location) 來(lái)修改 url,完成跳轉(zhuǎn)。
push 后面可以是對(duì)象,也可以是字符串:
// 字符串this.$router.push(’/home/first’)// 對(duì)象this.$router.push({ path: ’/home/first’ })// 命名的路由this.$router.push({ name: ’home’, params: { userId: wise }})
跳轉(zhuǎn)頁(yè)面并傳遞參數(shù)的方法:
1.Params
由于動(dòng)態(tài)路由也是傳遞params的,所以在 this.$router.push() 方法中path不能和params一起使用,否則params將無(wú)效。需要用name來(lái)指定頁(yè)面。
及通過(guò)路由配置的name屬性訪問
在路由配置文件中定義參數(shù):
/* router.js 文件*/import Vue from 'vue';import Router from 'vue-router';import MediaSecond from '@/views/EnterprisePage/MediaMatrix/second'; //資訊列表 Vue.use(Router);export default new Router({ routes: [ /* 進(jìn)行路由配置 */ { name: 'MediaSecond', path: '/MediaSecond', component: MediaSecond }, ]}) /* 后面還需要接一空行,否則無(wú)法通過(guò) ESlint 語(yǔ)法驗(yàn)證 */
通過(guò)name獲取頁(yè)面,傳遞params:
this.$router.push({ name: ’MediaSecond’,params:{artistName:artistName,imgUrl:imgUrl,type:2} })
在目標(biāo)頁(yè)面通過(guò)this.$route.params獲取參數(shù):
if (this.$route.params.type == 2) { this.type = apis.getAtistDetails;} else { this.type = apis.getMessageList;}
2.Query
頁(yè)面通過(guò)path/name和query傳遞參數(shù),該實(shí)例中row為某行表格數(shù)據(jù)
this.$router.push({ name: ’DetailManagement’, query: { auditID: row.id, type: ’2’ } });
this.$router.push({ path: ’/DetailManagement’, query: { auditID: row.id, type: ’2’ } });
在目標(biāo)頁(yè)面通過(guò)this.$route.query獲取參數(shù):
this.$route.query.type
補(bǔ)充知識(shí):vue this.$router.push(’./map’);無(wú)法跳轉(zhuǎn)的問題
<template> <div style='text-align: center'> <el-button type='primary' @click='onLogin'>登錄</el-button> </div></template><script> export default { name: ’login’, data () return { } }, methods: { onLogin:function () { this.$router.push(’./map’); } }, }</script><style scoped> </style>
router中是這樣引入的
import map from ’@components/map’
點(diǎn)擊事件無(wú)法跳轉(zhuǎn)
2.解決方法:
改變引入方式
import map=r=>require.ensure([],()=>(require(’../components/map’)),’map’)
這樣通過(guò)靜態(tài)引入就沒問題了!
以上這篇Vue this.$router.push(參數(shù))實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. html中的form不提交(排除)某些input 原創(chuàng)2. ASP動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)經(jīng)驗(yàn)分享3. ASP常用日期格式化函數(shù) FormatDate()4. CSS3實(shí)現(xiàn)動(dòng)態(tài)翻牌效果 仿百度貼吧3D翻牌一次動(dòng)畫特效5. asp.net core項(xiàng)目授權(quán)流程詳解6. XMLHTTP資料7. vue使用moment如何將時(shí)間戳轉(zhuǎn)為標(biāo)準(zhǔn)日期時(shí)間格式8. CSS3中Transition屬性詳解以及示例分享9. jsp文件下載功能實(shí)現(xiàn)代碼10. 開發(fā)效率翻倍的Web API使用技巧
