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 相关文章推荐
JSON JQUERY模板实现说明
Jul 03 Javascript
jquery 元素控制(追加元素/追加内容)介绍及应用
Apr 21 Javascript
javascript setinterval 的正确语法如何书写
Jun 17 Javascript
jquery 构造函数在表单提交过程中修改数据
May 25 Javascript
分享jQuery封装好的一些常用操作
Jul 28 Javascript
BootStrap表单验证实例代码
Jan 13 Javascript
Bootstrap按钮组实例详解
Jul 03 Javascript
微信小程序progress组件使用详解
Jan 31 Javascript
Angular Renderer (渲染器)的具体使用
May 03 Javascript
JavaScript实现的简单Tab点击切换功能示例
Jul 06 Javascript
layui监听select变化,以及设置radio选中的方法
Sep 24 Javascript
vue项目中使用bpmn-自定义platter的示例代码
May 11 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
php面向对象全攻略 (一) 面向对象基础知识
2009/09/30 PHP
Ajax+PHP边学边练 之五 图片处理
2009/12/03 PHP
PHP Session_Regenerate_ID函数双释放内存破坏漏洞
2011/01/27 PHP
PHP压缩html网页代码(清除空格,换行符,制表符,注释标记)
2012/04/02 PHP
PHP乱码问题,UTF-8乱码常见问题小结
2012/04/09 PHP
Python中使用django form表单验证的方法
2017/01/16 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
非常不错的一个javascript 类
2006/11/07 Javascript
JavaScipt基本教程之前言
2008/01/16 Javascript
Javascript中的相等与不等运算
2010/04/25 Javascript
jQuery ajax中使用confirm,确认是否删除的简单实例
2016/06/17 Javascript
关于JS中二维数组的声明方法
2016/09/24 Javascript
利用JQuery阻止事件冒泡
2016/12/01 Javascript
关于Javascript中document.cookie的使用
2017/03/08 Javascript
在 Typescript 中使用可被复用的 Vue Mixin功能
2018/04/17 Javascript
详解webpack打包第三方类库的正确姿势
2018/10/20 Javascript
three.js实现炫酷的全景3D重力感应
2018/12/30 Javascript
Vuex的actions属性的具体使用
2019/04/14 Javascript
[52:20]DOTA2-DPC中国联赛正赛 SAG vs XGBO3 第一场 3月5日
2021/03/11 DOTA
Python数据结构之Array用法实例
2014/10/09 Python
用Python解析XML的几种常见方法的介绍
2015/04/09 Python
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
2016/06/29 Python
深入理解Python中range和xrange的区别
2017/11/26 Python
python批量查询、汉字去重处理CSV文件
2018/05/31 Python
python操作excel的方法
2018/08/16 Python
python实现字典嵌套列表取值
2019/12/16 Python
Python3.7下安装pyqt5的方法步骤(图文)
2020/05/12 Python
详解python变量与数据类型
2020/08/25 Python
在Python中实现字典反转案例
2020/12/05 Python
美国药妆网站:EDCskincare.com(防晒、痤疮、抗衰老等)
2017/04/28 全球购物
运动会四百米广播稿
2014/01/19 职场文书
公司人事专员岗位职责
2014/08/11 职场文书
自荐信模板大全
2015/03/27 职场文书
员工开除通知书
2015/04/25 职场文书
《迟到》教学反思
2016/02/24 职场文书
nginx proxy_cache 缓存配置详解
2021/03/31 Servers