vue 路由传参
注明:vue中 $router 和 $route 的区别
//$router : 是路由操作对象,只写对象 //$route : 路由信息对象,只读对象 //操作 路由跳转 this.$router.push({ name:'hello', params:{ name:'word', age:'11' } }) //读取 路由参数接收 this.name = this.$route.params.name; this.age = this.$route.params.age;
1、query传参
query传参地址使用path(路由地址)
//传参,使用path跳转 this.$router.push({ path:'/login', query: { id:'123', name: 'yangj' } })
//路由
import Login from '@/page/Login'
{
path: '/login',
name: 'Login',
component: 'Login'
}
//接收
id = this.$route.query.id; name = this.$route.query.name;
//地址栏表现形式 这种方式感觉安全性不好暴露了参数,但是对于对隐私要求不强的页面可以这么玩
http://localhost:8080/#/Login?id=123&name=yangj
2、params传参
params传参地址使用name(路由名称)
//传参,使用name跳转 this.$router.push({ name:'Login', params: { id:'123', name: 'yangj' } }) //路由 import Login from '@/page/Login' { path: '/login/:id/:name', //这里的参数必须写(地址栏表现形式1),如果不写在页面强制刷新时参数会丢失(地址栏表现形式2) name: 'Login', component: 'Login' } //接收
id = this.$route.params.id; name = this.$route.params.name;
//地址栏表现形式 只能看到参数但是看不到参数名,相比path+query的方法要安全些
http://localhost:8080/#/login/123/yangj
蜉蝣过山亦有风