vue路由跳转传参和取参

1,357 阅读1分钟

方法一 :基本的方法

单纯的只跳一个路径

this.$router.push({path: '../schoolroll/schoolroll'})

路径上传参,这种比较少。this.province ,可以把它看成是一个对象的方式传递过去

this.$router.push({path: '../schoolroll/schoolroll?province=' + this.province})

对上面传递过来的取参,声明一个变量接收

var province = this.$route.query.province

方法二 :  path搭配query传参(用的较多)

this.$router.push({
            path: '../schoolroll/schoolroll',
            query: {
              'province': this.province,
              'city': this.city
            }
          })

①取参,声明变量接收

var province = this.$route.query.province
var city = this.$route.query.city

②另一种取参,可以直接拼接到另一个页面的请求需求之中(不熟练的可以采用上面那种

async getList(){    
   let res = await this.request(
    `/expert/detail/${this.$route.query.province}`,
     "get"  
    )     
   console.log('详情',res); 
   this.list = res.data 
  }

方法三:name搭配params传参

this.$router.push({
            name: '人才录入表管理',//name指的是路由配置文件中的name
            params: {
              'province': this.province,
              'city': this.city
            }
          })

同样的声明变量,取参

var province = this.$route.params.province 
var city = this.$route.params.city

注意: name和params搭配,path和query搭配,采用params的方式传递参数,当你刷新页面时,参数就会丢失;采用query参数刷新还在。