vue-router传递参数的方法

1、vue-router传递参数的方法
vue-router传递参数分为编程式和声明式:
1.1 编程式: router.push
使用编程式的导航传递参数时有两种类型,分别是字符串和对象:
1.1.1 字符串

this.$router.push("/");
this.$router.push("Login");

跳转的页面命名为Login,页面链接是’/’,所以上面两种写法都是OK的
vue-router传递参数的方法_第1张图片
这种方法是不能传递参数的,传递参数需要使用对象~

1.1.2 对象
使用对象传参是也分为path和name,
name对应的对象名是params;path对应的对象名是query。
1.1.2.1 name-params
使用name传递参数使用的代码:

this.$router.push({
     name: 'Coupons', params: {
      id: '001' }});

使用name接收参数使用的代码:this.$route.params.id

console.log('接收的参数', this.$route.params.id)

结果示意:
vue-router传递参数的方法_第2张图片
页面刷新之后参数不保留
vue-router传递参数的方法_第3张图片
1.1.2.2 path=query
使用path传递参数使用的代码:

this.$router.push({
     path: '/coupons', query: {
      id: '001' }})

使用path接收参数使用的代码:this.$route.query.id

console.log('接收的参数', this.$route.query.id)

结果示意:
vue-router传递参数的方法_第4张图片
页面刷新之后参数保留
vue-router传递参数的方法_第5张图片

1.2 声明式:
声明式跟变成是传递参数的方式其实一样,只是写法不同而已

<router-link :to="{ name: 'Coupons', params: { id: '001'}}">click to Coupons page</router-link>
<router-link :to="{ path: '/coupons', query: { id: '001'}}">click to Coupons page</router-link>

你可能感兴趣的:(前端,vue.js)