vue通过路由实现页面刷新的方法


Posted in Javascript onJanuary 25, 2018

vue 开发微信商城项目,

需求如下:

购物车页面跳转到详情页,购物车页面包含了多个组件,点击结算跳转到订单页面,从订单返回时,购物车页面没有刷新,由于购物车组件之间通过bus实现事件传递,页面跳转(非物理返回)无法触发beforeDestroy方法,则无法再此方法中销毁bus方法

beforeDestroy() {
  this.$root.Bus.$off('judge')
  this.$root.Bus.$off('refreshDetail')
  this.$root.Bus.$off('clearAll')
  this.$root.Bus.$off('upDataCart')
 },

无奈,通过beforeRouteLeave来销毁

beforeRouteLeave(to, from, next) {
  this.$root.Bus.$off('judge')
  this.$root.Bus.$off('refreshDetail')
  this.$root.Bus.$off('clearAll')
  this.$root.Bus.$off('upDataCart')

  next()
 },

同样的,物理返回时无法触发购物车的created方法,则无法触发bus的$on方法

归根结底,物理返回时刷新页面则可以处理此问题

思路一

beforeRouteEnter(to, from, next) {
   next(()=>{
     window.location.reload()
   })
  },

此方法理论貌似可行,但是页面会狂刷不止,

最后采用了思路二,貌似是一个很low的方法,但是解决了实际问题

this.$router.replace({ name: 'cart' })// 处理返回刷新问题
   this.$router.push({
    path: '/order/order_sure',
    query: {
     sku: sku_str,
     cart: 'cart'
    }
   })

页面跳转前先通过路由replace到当前页,再跳转到订单页面,返回可以自动刷新了,这个方法并不理想,如果您有更好的方法,欢迎分享

有专门的方法处理此问题,在购物车页面,添加如下代码即可

// 销毁组件,返回刷新
 deactivated() {
  this.$destroy()
 },

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript学习笔记之 函数篇(二) : this 的工作机制
Jun 24 Javascript
Javascript闭包用法实例分析
Jan 23 Javascript
浅谈javascript中this在事件中的应用
Feb 15 Javascript
javascript包装对象实例分析
Mar 27 Javascript
分享javascript计算时间差的示例代码
Mar 19 Javascript
javascript中arguments,callee,caller详解
Mar 16 Javascript
jQuery无刷新上传之uploadify3.1简单使用
Jun 18 Javascript
js HTML5 canvas绘制图片的方法
Sep 08 Javascript
VueRouter导航守卫用法详解
Dec 25 Javascript
详解基于Vue-cli搭建的项目如何和后台交互
Jun 29 Javascript
JS获取并处理php数组的方法实例分析
Sep 04 Javascript
详解为什么Vue中的v-if和v-for不建议一起用
Jan 13 Vue.js
jQuery zTree搜索-关键字查询 递归无限层功能实现代码
Jan 25 #jQuery
JavaScript实现职责链模式概述
Jan 25 #Javascript
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
Jan 25 #jQuery
解决Jquery下拉框数据动态获取的问题
Jan 25 #jQuery
vue引入新版 vue-awesome-swiper插件填坑问题
Jan 25 #Javascript
vue better-scroll插件使用详解
Jan 25 #Javascript
jquery 获取索引值在一定范围的列表方法
Jan 25 #jQuery
You might like
Linux下实现PHP多进程的方法分享
2012/08/16 PHP
PHP实现的购物车类实例
2015/06/17 PHP
用PHP代码在网页上生成图片
2015/07/01 PHP
PHP Ajax跨域问题解决方案代码实例
2020/08/01 PHP
控制页面按钮在后台执行期间不重复提交的JS方法
2013/06/24 Javascript
一个奇葩的最短的 IE 版本判断JS脚本
2014/05/28 Javascript
javascript移动设备Web开发中对touch事件的封装实例
2014/06/05 Javascript
node.js中使用socket.io的方法
2014/12/15 Javascript
jQuery实现简单下拉导航效果
2015/09/07 Javascript
分享使用AngularJS创建应用的5个框架
2015/12/05 Javascript
深入理解jQuery之防止冒泡事件
2016/05/24 Javascript
js实现加载更多功能实例
2016/10/27 Javascript
基于vue2.0+vuex的日期选择组件功能实现
2017/03/13 Javascript
基于vue打包后字体和图片资源失效问题的解决方法
2018/03/06 Javascript
JavaScript事件发布/订阅模式原理与用法分析
2018/08/21 Javascript
微信小程序scroll-view横向滑动嵌套for循环的示例代码
2018/09/20 Javascript
微信小程序使用scroll-view标签实现自动滑动到底部功能的实例代码
2018/11/09 Javascript
JavaScript从原型到原型链深入理解
2019/06/03 Javascript
layer.alert自定义关闭回调事件的方法
2019/09/27 Javascript
python实现发送邮件功能代码
2017/12/14 Python
python实现简单登陆流程的方法
2018/04/22 Python
用Python写脚本,实现完全备份和增量备份的示例
2018/04/29 Python
Python将文本去空格并保存到txt文件中的实例
2018/07/24 Python
python实现蒙特卡罗方法教程
2019/01/28 Python
基于python历史天气采集的分析
2019/02/14 Python
python 为什么说eval要慎用
2019/03/26 Python
python 通过视频url获取视频的宽高方式
2019/12/10 Python
Django执行源生mysql语句实现过程解析
2020/11/12 Python
CSS3 实现弹幕的示例代码
2017/08/07 HTML / CSS
迪卡侬波兰体育用品商店:Decathlon波兰
2020/03/31 全球购物
国际贸易专业个人求职信范文分享
2013/12/14 职场文书
《再别康桥》教学反思
2014/02/12 职场文书
借款协议书范本
2014/04/22 职场文书
高中课前三分钟演讲稿
2014/09/13 职场文书
入党积极分子群众意见
2015/06/01 职场文书
Python 正则模块详情
2021/11/02 Python