最近接触了vue项目,这里记录一下vue跳转到下一页面携带参数的两种方式。
典型应用场景:列表页跳转到详情页
一、配置路由
文件路径:src/router/config.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import Vue from 'vue'
import Router from 'vue-router'
import classify from '.././components/classify/classify.vue'
import classifyChild from '.././components/classify/classifyChild.vue'
export default new Router({
mode: 'history' ,
routes: [
{
path: '/classify' ,
name: ' classify' ,
component: classify
},
{
path: '/classify/classifyChild' ,
name: 'classifyChild' ,
component: classifyChild
},
]
})
|
二、页面跳转及传参
1
2
3
4
5
6
7
8
9
|
//方式一
<router-link :to= "{name:'classifyChild',params:{id:item.id}}" >
<button>跳转</button>
</router-link>
//方式二
<router-link :to= "{path:'/classify/classifyChild',query:{id:item.id}}" >
<button>跳转</button>
</router-link>
|
三、参数接收
1
2
3
4
5
|
//对应于方式一
let id= this .$route.params.id;
//对应于方式二
let id= this .$route.query.id;
|
补充知识:关于vue3.0中的this.$router.replace({ path: '/'})刷新无效果问题
首先在store中定义所需要的变量可以进行初始化,再定义一个方法,登录成功后A页面,跳转到B页面之前,需要直接调用store中存储数据的方法,全局可以使用,顺序是,先调用store中的数据,其次调用sessionStorage和localStorage中的数据。
这样的话,可以避免A页面跳转B页面时候,手动刷新才显示信息。
直接登录成功后,直接调用store的方法,把值存储进去,B页面可以直接显示用户信息。必须在store定义方法,登录成功后调用方法进行回显用户信息。在这里插入图片描述
如此一来,就可以避免必须手动刷新一下才会显示信息。
以上这篇Vue页面跳转传递参数及接收方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/fate_sky8521/article/details/90106505