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

vue-router路由跳转方式与传参

程序员文章站 2022-05-18 16:04:27
...

vue-router跳转的三种方式,以及它们相对应的自己的传参规则。

 

一、使用router-link标签

1.简单使用:

a.在router的index.js文件设置:

{
    path: "/detail",
    name:"Detail",
    compoent: Detail
}

b.标签使用:

<router-link tab="li" class="list-item" v-for="(item,index) in list" :key="item.id" :to="/detail"></router-link>

2.传参

(1) 传单个参数:

a. 在router的index.js文件设置:

{
    path: "/detail/:id",
    name:"Detail",
    compoent: Detail
}

b.标签使用:

<router-link tab="li" class="list-item" v-for="(item,index) in list" :key="item.id" :to=" '/detail/' + index"></router-link>

(2) 传多个参数:

a. 在router的index.js文件设置:

{
    path: "/detail/:id/:title",
    name:"Detail",
    compoent: Detail
}

b.标签使用:

<router-link tab="li" class="list-item" v-for="(item,index) in list" :key="item.id" :to=" '/detail/' + index + '/' + item.title"></router-link>

 

注意:这种传参方式是URL传参,参数会出现在URL链接上,如:http://localhost:8080/#/detail/0/度假村

 

路由的参数接收用: this.$route.params(注意是$route不是$router哦~)

 

二、使用name设置

 

1.在元素上绑定事件:

<img class="item-img" :src="item.imgUrl" alt="" @click="goDetail(item.id,item.title)">

2.定义事件,做路由跳转并传参:

methods: {
    goDetail (id,title) {
        this.$router.push({ name:'Detail',params: {id: id, title: title} })
    }
}

 

路由的参数接收用: this.$route.params(注意是$route不是$router哦~)

 

三、使用path设置

 

1.在元素上绑定事件:

<img class="item-img" :src="item.imgUrl" alt="" @click="goDetail(item.id,item.title)">

2.定义事件,做路由跳转并传参:

methods: {
    goDetail (id,title) {
        this.$router.push({ path:'Detail',query: {id: id, title: title} })
    }
}

路由的参数接收用: this.$route.query(注意是$route不是$router哦~)

 

 

使用name和path方式很相似,但是path方式的参数会出现在url中,如:http://localhost:8080/#/?id=0001&title=beijing,如ajax请求的get请求,而name的方式像post请求