欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

vue路由跳转方式及传参

程序员文章站 2022-05-18 16:03:57
...

一、 router-link 【实现跳转最直接的方法】

1. 不带参数

<router-link to='需要跳转到的页面的路径>
浏览器在解析时,将它解析成一个类似于 的标签。

父组件(params):

<router-link :to="{name:'index', params: {id:1}}">  
// 路由配置 path: "/index/:id" 或者 path: "/index:id" 
// 不配置path ,第一次可请求,刷新页面id会消失
// 配置path,刷新页面id会保留

子组件:

// html 取参  $route.params.id
// script 取参  this.$route.params.id

父组件(query):

<router-link :to="{name:'index', query: {id:1}}"> 
// query传参数 (类似get,url后面会显示参数)

子组件:

// html 取参  $route.query.id
// script 取参  this.$route.query.id

二、this.$router.push() 【js方法内调用】

  1. query传参
    父组件:
	 this.$router.push({
	        name: "payStyle",
	        query: {
	          orderTids: orderTids
	       }
	  }); 
	  或:
	  this.$router.push({
	        name: "path:'/payStyle'", 
	        query: {
	          orderTids: orderTids
	       }
	  }); 

子组件:

	mounted() {
	    let that = this;
	    that.orderTids = that.$route.query.orderTids;//接收父组件传过来的orderTids
    }
  1. params传参

父组件:

	this.$router.push({
	        name: "payStyle", // 只能用 name
	        params: {
	          orderTids: orderTids
	       }
	  }); 

子组件:

	mounted() {
	    let that = this;
	    that.orderTids = that.$route.params.orderTids;//接收父组件传过来的orderTids
    }