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 相关文章推荐
一个cssQuery对象 javascript脚本实现代码
Jul 21 Javascript
屏蔽F1~F12的快捷键的js函数
May 06 Javascript
jQuery LigerUI 使用教程表格篇(1)
Jan 18 Javascript
js编码之encodeURIComponent使用介绍(asp,php)
Mar 01 Javascript
JS控制文本框textarea输入字数限制的方法
Jun 17 Javascript
jquery常用特效方法使用示例
Apr 25 Javascript
通过location.replace禁止浏览器后退防止重复提交
Sep 04 Javascript
jquery实现在光标位置插入内容的方法
Feb 05 Javascript
判断是否存在子节点的实现代码
May 18 Javascript
10分钟上手vue-cli 3.0 入门介绍
Apr 04 Javascript
vue请求服务器数据后绑定不上的解决方法
Oct 30 Javascript
Vue使用Proxy代理后仍无法生效的解决
Nov 13 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
SWFUpload与CI不能正确上传识别文件MIME类型解决方法分享
2011/04/18 PHP
php 冒泡排序 交换排序法
2011/05/10 PHP
PHP删除非空目录的函数代码小结
2013/02/28 PHP
PHP中异常处理的一些方法整理
2015/07/03 PHP
利用PHP将部分内容用星号替换
2020/04/21 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
javascript 可以拖动的DIV(二)
2009/06/26 Javascript
非阻塞动态加载javascript广告实现代码
2010/11/17 Javascript
JQuery对id中含有特殊字符的转义处理示例
2013/09/06 Javascript
form.submit()不能提交表单的原因分析
2014/10/23 Javascript
Nodejs实现批量下载妹纸图
2015/05/28 NodeJs
Javascript数组中push方法用法分析
2016/10/31 Javascript
JS 学习总结之正则表达式的懒惰性和贪婪性
2017/07/03 Javascript
详解Vue路由History mode模式中页面无法渲染的原因及解决
2017/09/28 Javascript
angularJS实现动态添加,删除div方法
2018/02/27 Javascript
Vue 前端实现登陆拦截及axios 拦截器的使用
2019/07/17 Javascript
JS 获取文件后缀,判断文件类型(比如是否为图片格式)
2020/05/09 Javascript
[01:29]2014DOTA2展望TI 剑指西雅图DK战队专访
2014/06/30 DOTA
python中的hashlib和base64加密模块使用实例
2014/09/02 Python
VTK与Python实现机械臂三维模型可视化详解
2017/12/13 Python
学习Python3 Dlib19.7进行人脸面部识别
2018/01/24 Python
Python使用progressbar模块实现的显示进度条功能
2018/05/31 Python
python代码 输入数字使其反向输出的方法
2018/12/22 Python
实例详解Matlab 与 Python 的区别
2019/04/26 Python
Django模型修改及数据迁移实现解析
2019/08/01 Python
Python 中list ,set,dict的大规模查找效率对比详解
2019/10/11 Python
python自动识别文本编码格式代码
2019/12/26 Python
python 生成器需注意的小问题
2020/09/29 Python
HTML5中在title标题标签里设置小图标的方法
2020/06/23 HTML / CSS
美国最大的袜子制造商和零售商:Renfro Socks
2017/09/03 全球购物
Vilebrequin美国官方网上商店:法国豪华泳装品牌
2020/02/22 全球购物
Exception类的常用方法
2012/06/16 面试题
网络编辑职责
2014/03/01 职场文书
村抢险救灾方案
2014/05/09 职场文书
javascript Number 与 Math对象的介绍
2021/11/17 Javascript
「我的青春恋爱物语果然有问题。-妄言录-」第20卷封面公开
2022/03/21 日漫