vue 路由跳转方式及路由传参

一、vue 路由跳转方式
1、声明式跳转(标签跳转):
router-link api:

// 1.to { string | Location } 表示目标路由的链接。当被点击后,内部会立刻把 to 的值传到 router.push(),所以这个值可以是一个字符串或者是描述目标位置的对象。

订单详情

订单详情

订单详情

订单详情

订单详情

订单详情

订单详情

// 2.replace { boolean } 设置 replace 属性的话,当点击时,会调用 router.replace() 而不是 router.push(),于是导航后不会留下 history 记录。
订单详情

// 3.append { boolean } 设置 append 属性后,则在当前 (相对) 路径前添加基路径。例如,我们从 /a 导航到一个相对路径 b,如果没有配置 append,则路径为 /b,如果配了,则为 /a/b。


// 4.tag { string } 想要  渲染成某种标签,例如 
  • 。 于是我们使用 tag prop 类指定何种标签,同样它还是会监听点击,触发导航。 订单详情
  • 订单详情
  • 2、编程式( js跳转):

    router.push('index');
    this.$router.push({
    	name: "orderDetail"
    });
    this.$router.push({
    	path: "/orderDetail"
    });
    

    二、路由传参
    方法1:

    // 直接调用 $router.push 实现携带参数的跳转
    this.$router.push({
    	path: `/orderDetail/${id}`,
    })
    // 对应路由配置如下:
    {
     	path: '/orderDetail/:id',
     	name: 'orderDetail',
     	component: orderDetail
    }
    // 组件中获取参数的方式:
    this.$route.params.id
    

    方法2:

    // 通过路由属性中的name来确定匹配的路由,通过params来传递参数。
    this.$router.push({
    	name: 'orderDetail',
    	params: {
    		id: 1
    	}
    });
    // 对应路由配置如下:
    {
    	path: '/orderDetail',
    	name: 'orderDetail',
    	component: orderDetail
    }
    // 组件中获取参数的方式:
    this.$route.params.id
    

    方法3:

    // 使用path来匹配路由,然后通过query来传递参数
    this.$router.push({
    	path: '/orderDetail',
    	query: {
    		id: 1
    	}
    });
    // 对应路由配置如下:
    {
    	path: '/orderDetail',
    	name: 'orderDetail',
    	component: orderDetail
    }
    // 组件中获取参数的方式:
    this.$route.query.id
    

    方法4:

    订单详情
    // 对应的路由配置如下:
    {
    	path: '/orderDetail',
    	name: 'orderDetail',
    	component: orderDetail
    }
    // 组件中获取参数的方式:
    this.$route.query.id
    
    订单详情
    // 对应的路由配置如下:
    {
    	path: '/orderDetail/:id',
    	name: 'orderDetail',
    	component: orderDetail
    }
    // 组件中获取参数的方式:
    this.$route.params.id
    

    你可能感兴趣的:(vue)