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 相关文章推荐
JS类的封装及实现代码
Dec 02 Javascript
jQuery之网页换肤实现代码
Apr 30 Javascript
js里取容器大小、定位、距离等属性搜集整理
Aug 19 Javascript
jquery 自定义容器下雨效果可将下雨图标改为其他
Apr 23 Javascript
javascript 操作符(~、&amp;、|、^、)使用案例
Dec 31 Javascript
javascript实现简单的鼠标拖动效果实例
Apr 10 Javascript
JavaScript事件处理的方式(三种)
Apr 26 Javascript
jQuery 生成svg矢量二维码
Aug 09 Javascript
js 判断数据类型的几种方法
Jan 13 Javascript
json数据处理及数据绑定
Jan 25 Javascript
mac上配置Android环境变量的方法
Jul 08 Javascript
jQuery实现表单动态添加数据并提交的方法
Jul 19 jQuery
详解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 include加载文件两种方式效率比较
2010/08/08 PHP
php动态添加url查询参数的方法
2015/04/14 PHP
PHP中filter函数校验数据的方法详解
2015/07/31 PHP
php+ajax实现商品对比功能示例
2019/04/13 PHP
php依赖注入知识点详解
2019/09/23 PHP
JQuery获取文本框中字符长度的代码
2011/09/29 Javascript
中文输入法不触发onkeyup事件的解决办法
2014/07/09 Javascript
jquery实现ajax加载超时提示的方法
2016/07/23 Javascript
利用原生js和jQuery实现单选框的勾选和取消操作的方法
2016/09/04 Javascript
AngularJS ngModel实现指令与输入直接的数据通信
2016/09/21 Javascript
JS正则替换掉小括号及内容的方法
2016/11/29 Javascript
Bootstrap和Java分页实例第二篇
2016/12/23 Javascript
那些精彩的JavaScript代码片段
2017/01/12 Javascript
基于JavaScript实现淘宝商品广告效果
2017/08/10 Javascript
老生常谈javascript的面向对象思想
2017/08/22 Javascript
js实现随机点名系统(实例讲解)
2017/10/18 Javascript
jQuery实现左右滑动的toggle方法
2018/03/03 jQuery
el-select 下拉框多选实现全选的实现
2019/08/02 Javascript
Element-UI中关于table表格的那些骚操作(小结)
2019/08/15 Javascript
vue学习之Vue-Router用法实例分析
2020/01/06 Javascript
Node.js API详解之 dgram模块用法实例分析
2020/06/05 Javascript
JavaScript Array.flat()函数用法解析
2020/09/02 Javascript
js实现炫酷光感效果
2020/09/05 Javascript
举例讲解Python中metaclass元类的创建与使用
2016/06/30 Python
Python进行数据提取的方法总结
2016/08/22 Python
基于Python实现2种反转链表方法代码实例
2020/07/06 Python
深入理解HTML的FormData对象
2016/05/17 HTML / CSS
台湾菁英交友:结识黄金单身的台湾人
2018/01/22 全球购物
极度干燥澳大利亚官方网站:Superdry澳大利亚
2019/03/28 全球购物
领导证婚人证婚词
2014/01/13 职场文书
2014爱耳日宣传教育活动总结
2014/03/09 职场文书
幼儿园标语大全
2014/06/19 职场文书
党员反对四风思想汇报范文
2014/10/25 职场文书
2014年乡镇团委工作总结
2014/12/18 职场文书
基于PyTorch实现一个简单的CNN图像分类器
2021/05/29 Python
Python+腾讯云服务器实现每日自动健康打卡
2021/12/06 Python