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


Posted in Javascript onApril 20, 2019

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

首先我们先上代码吧!

<router-link :to="{path:'/editaddress',query:{ id:item.id }}"> 
  <div class="top_left_center">
     <img src="/static/images/details/location.png" alt="" class="location_img">
      <span style="color:#f40;font-size:15px;">点击编辑</span>
  </div>
</router-link> 

这个是我常用的传参及跳转路由的方法,下面剪短说一下这个代码,在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)安全的方法.

需要说明的这种方法在有的页面刷新会丢失传过来的数据,就是不太稳定。下面是另一个传参的方法倒是可以解决这种问题,先看代码:

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,这里我就说一下我用的方法(这个仅仅是记录下)。

<div class="main" v-for="(item,index) in Unpaycontent" :key="index">
            <div class="main_top">
              <div class="imgContral">
                <img :src="item.goods_image">
                <div class="describtion"><a>待支付</a></div>
              </div>
              <div class="details"><p style="color:#000;">{{item.goods_name}}</p></div>
              <div class="main_topright">
                <p>{{item.price}}</p>
                <p>×{{item.num}}</p>
              </div>
              <div class="top_bottom">
                <span style="float:right;">合计:<a style="color:red;">{{item.total_price}}</a></span>
              </div>
            </div>
            <div class="main_bot">
                <a @click="click(item.id)">立即支付</a>
            </div>
          </div>

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

getallData (index) {
      request.get('/shop/orders'+index, {
        
        }).then((response) => {
         
        }).catch((ex) => {
      }) 
    },

这里的item.id就被我变成了index了,其他的就是愉快的给后台解决了。

本文主要是对传参进行简短总结下,如果有其他的好的传参的方法或者本篇我写的有错的地方,欢迎指教!

以上所述是小编给大家介绍的vue路由对不同界面进行传参及跳转的总结详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript使用中为什么10..toString()正常而10.toString()出错呢
Jan 11 Javascript
DWZ table的原生分页浅谈
Mar 01 Javascript
14个有用的Jquery技巧分享
Jan 08 Javascript
JS实现模拟风力的雪花飘落效果
May 13 Javascript
Javascript简单实现面向对象编程继承实例代码
Nov 27 Javascript
node中使用es5/6以及支持性与性能对比
Aug 11 Javascript
初探JavaScript 面向对象(推荐)
Sep 03 Javascript
JavaScript实现短信倒计时60s
Oct 09 Javascript
JavaScript 判断对象中是否有某属性的常用方法
Jun 14 Javascript
微信小程序开发之tabbar图标和颜色的实现
Oct 17 Javascript
vue cli 3.0通用打包配置代码,不分一二级目录
Sep 02 Javascript
layui使用及简单的三级联动实现教程
Dec 01 Javascript
详解Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成)
Apr 20 #Javascript
详解vue使用$http服务端收不到参数
Apr 19 #Javascript
ajaxfileupload.js实现上传文件功能
Apr 19 #Javascript
AjaxFileUpload.js实现异步上传文件功能
Apr 19 #Javascript
读懂CommonJS的模块加载
Apr 19 #Javascript
js module大战
Apr 19 #Javascript
如何根据业务封装自己的功能组件
Apr 19 #Javascript
You might like
单位速度在实战中的运用
2020/03/04 星际争霸
Cappuccino 卡布其诺咖啡之制作
2021/03/03 冲泡冲煮
php skymvc 一款轻量、简单的php
2011/06/28 PHP
PHP程序开发范例学习之表单 获取文本框的值
2011/08/08 PHP
php实现无限级分类
2014/12/24 PHP
Yii2.0表关联查询实例分析
2016/07/18 PHP
js弹出框轻量级插件jquery.boxy使用介绍
2013/01/15 Javascript
原生js实现淘宝首页点击按钮缓慢回到顶部效果
2014/04/06 Javascript
从零学JS之你需要了解的几本书
2014/05/19 Javascript
jquery实现类似EasyUI的页面布局可改变左右的宽度
2020/09/12 Javascript
jQuery的基本概念与高级编程
2015/05/14 Javascript
Javascript 判断两个IP是否在同一网段实例代码
2016/11/28 Javascript
用nodeJS搭建本地文件服务器的几种方法小结
2017/03/16 NodeJs
微信小程序页面跳转功能之从列表的item项跳转到下一个页面的方法
2017/11/27 Javascript
JS+WCF实现进度条实时监测数据加载量的方法详解
2017/12/19 Javascript
Vue列表渲染的示例代码
2018/11/01 Javascript
Vue中props的详解
2019/05/16 Javascript
Vue快速实现通用表单验证的示例代码
2020/01/09 Javascript
node.js使用yargs处理命令行参数操作示例
2020/02/11 Javascript
使用AutoJs实现微信抢红包的代码
2020/12/31 Javascript
详解Python中for循环的使用
2015/04/14 Python
详解PyTorch批训练及优化器比较
2018/04/28 Python
使用python的pexpect模块,实现远程免密登录的示例
2019/02/14 Python
春节到了 教你使用python来抢票回家
2020/01/06 Python
深入剖析webstorage[html5的本地数据处理]
2016/07/11 HTML / CSS
HTML5表格_动力节点Java学院整理
2017/07/11 HTML / CSS
The North Face北面法国官网:美国著名户外品牌
2019/11/01 全球购物
struct与class的区别
2014/02/03 面试题
好人好事演讲稿
2014/09/01 职场文书
报到证办理个人委托书
2014/10/06 职场文书
公务员年度考核登记表个人总结
2015/02/12 职场文书
银行自荐信范文
2015/03/25 职场文书
圆明园纪录片观后感
2015/06/03 职场文书
Ajax 的初步实现(使用vscode+node.js+express框架)
2021/06/18 Javascript
一文搞懂Golang 时间和日期相关函数
2021/12/06 Golang
实现AJAX异步调用和局部刷新的基本步骤
2022/03/17 Javascript