vue同一路由控制不同页面跳转_Vue.js路由对不同界面进行传参及跳转的总结

本文总结了Vue.js中路由传参和页面跳转的常见方法,包括使用query和params传递参数,以及如何在刷新后保持参数。在实际项目中,通过在router-link的to属性中设置参数,可以实现列表页到详情页的跳转。当需要确保参数在刷新后仍然可用时,可以将参数包含在路由路径中。此外,文章还展示了如何通过事件监听获取不同列表项的ID并进行处理。

Vue.js路由对不同界面进行传参及跳转的总结

发布于 2020-7-25|

复制链接

摘记: 最近在做一个公众号的商城项目,主要用的VUE+MUI,其实今天这个点对于有过项目经验的前端工作者来说是最基础的,但也是必须要掌握的,今天小妖主要是记录下传参和跳转的一些总结(仅供参考)。首先我们先上代码吧!

```xhtml

..

最近在做一个公众号的商城项目,主要用的VUE+MUI,其实今天这个点对于有过项目经验的前端工作者来说是最基础的,但也是必须要掌握的,今天小编主要是记录下传参和跳转的一些总结(仅供参考)。首先我们先上代码吧!

```xhtml

点击编辑

```

这个是我常用的传参及跳转路由的方法,下面剪短说一下这个代码,在router-link中:to后面跟着的就是主角(跳转、传参)的内容了,其实我们在从后台拿到数据遍历后,每一个对应的id都会有,这里用的query:{id:item,id},其实就是把遍历对应的id传到path对应的那个界面,这个常出现在列表页到详情页页这里(当然不只是这里了,其他地方用的很多很多)。对于传参的方式还是要说下的多余的:query和params:a.像这种:to="{path:'/editaddress',query:{ id:item.id }}是query进行传值;这种:to="{path:'/editaddress',params:{ id:item.id }},两种方式传值没什么差别,但比如在详情页引入值时this.paramsid = this.$route.params.id ---->params引入;this.queryId = this.$route.query.Id---->query引入(当然用name也行)对于需要进行安全保护的网站其实也可以在此处进行选择params-->name(不显示路径如index/login)--->当然这只是相对query.-->path(显示?后面带的参数如index/login?id=1&&name=asd)安全的方法.需要说明的这种方法在有的页面刷新会丢失传过来的数据,就是不太稳定。下面是另一个传参的方法倒是可以解决这种问题,先看代码:

```javascript

request.get('shop/ce/' + this.product_id +'? num='+this.num ,{

id:this.product_id,

num:this.num,

}).then((response) => {

if(response){

console.log(this.product_id)

this.$router.push({path:'/order?pid='+this.product_id})

}

}).catch((ex) => {

console.log(ex.response)

})

```

上面的request只是我封装的一个axios请求方法(主要是方便,不多说),看红线重点,这个地方的传参其实是很优秀的,自己在定义一个变量接收id,因为是写在跳转路径里面的,这样在刷新时人家会一直带着这个ID,数据自然就不会丢失了,在需要接受ID的页面用this.product_id = this.$route.query.pid存一下就OK了。因此觉得这个方法挺好,需要多加注意。

既然说到这了,我们常用的其实还有抓取不同的id,传给后台,常见的有点击不同列表的商品获取对应的ID,这里我就说一下我用的方法(这个仅仅是记录下)。

```xhtml

待支付

{{item.goods_name}}

{{item.price}}

×{{item.num}}

合计:{{item.total_price}}

立即支付

```

还是看红线,因为我们在点击的时候传的有item.id,这就解决了传不同ID的头疼问题,在methods里用方法接受时随便定义下改个好看的名字就能很好的把ID拿出来传到后台了,为了展示的详细点,还是贴一下代码吧。

```javascript

getallData (index) {

request.get('/shop/orders'+index, {

}).then((response) => {

}).catch((ex) => {

})

},

```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值