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 相关文章推荐
基于Jquery的$.cookie()实现跨越页面tabs导航实现代码
Mar 03 Javascript
jquery控制display属性为none或block
Mar 31 Javascript
jquery插件EasyUI中form表单提交实例分享
Jan 11 Javascript
jQuery实现拖拽可编辑模块功能代码
Jan 12 Javascript
Angular实现一个简单的多选复选框的弹出框指令实例
Apr 25 Javascript
Angular4实现鼠标悬停3d倾斜效果
Oct 25 Javascript
Nuxt.js踩坑总结分享
Jan 18 Javascript
深入理解JavaScript的async/await
Aug 05 Javascript
详解JavaScript作用域 闭包
Jul 29 Javascript
Vue 数据绑定的原理分析
Nov 16 Javascript
Three.js实现雪糕地球的使用示例详解
Jul 07 Javascript
pnpm对npm及yarn降维打击详解
Aug 05 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
搜索和替换文件或目录的一个好类--很实用
2006/10/09 PHP
php对数组排序的简单实例
2013/12/25 PHP
PHP采用curl模仿用户登陆新浪微博发微博的方法
2014/11/07 PHP
php post大量数据时发现数据丢失问题解决方法
2015/06/20 PHP
Zend Framework教程之Bootstrap类用法概述
2016/03/14 PHP
PHP实现非阻塞模式的方法分析
2018/07/26 PHP
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
2021/03/09 HTML / CSS
JavaScript脚本语言在网页中的简单应用
2007/05/13 Javascript
js输出列表实现代码
2010/09/12 Javascript
页面加载完毕后滚动条自动滚动一定位置
2014/02/20 Javascript
js css 实现遮罩层覆盖其他页面元素附图
2014/09/22 Javascript
jquery实现在网页指定区域显示自定义右键菜单效果
2015/08/25 Javascript
微信开发 使用picker封装省市区三级联动模板
2016/10/28 Javascript
Bootstrap php制作动态分页标签
2016/12/23 Javascript
详解如何去除vue项目中的#——History模式
2017/10/13 Javascript
微信web端后退强制刷新功能的实现代码
2018/03/04 Javascript
webpack打包多页面的方法
2018/11/30 Javascript
微信小程序实现左右列表联动
2020/05/19 Javascript
Vue 实现点击空白处隐藏某节点的三种方式(指令、普通、遮罩)
2019/10/23 Javascript
原生javascript如何实现共享onload事件
2020/07/03 Javascript
微信小程序实现购物车小功能
2020/12/30 Javascript
[32:17]完美世界DOTA2联赛循环赛LBZS vs Forest第二场 10月30日
2020/10/31 DOTA
Python3 socket同步通信简单示例
2017/06/07 Python
Python告诉你木马程序的键盘记录原理
2019/02/02 Python
Python3.5 Pandas模块之DataFrame用法实例分析
2019/04/23 Python
pandas中read_csv、rolling、expanding用法详解
2020/04/21 Python
requests在python中发送请求的实例讲解
2021/02/17 Python
大学四年个人的自我评价
2014/02/26 职场文书
《蚕姑娘》教学反思
2014/04/15 职场文书
小学生演讲稿大全
2014/04/25 职场文书
社区文化建设方案
2014/05/02 职场文书
师德师风自查材料
2014/10/14 职场文书
小学中等生评语
2014/12/29 职场文书
教代会闭幕词
2015/01/28 职场文书
Python编程源码报错解决方法总结经验分享
2021/10/05 Python
MySQL数据库超时设置配置的方法实例
2021/10/15 MySQL