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 脚本的加载与执行
Apr 19 Javascript
判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解
Nov 07 Javascript
jQuery中判断对象是否存在的方法汇总
Feb 24 Javascript
浅析JS异步加载进度条
May 05 Javascript
获取jqGrid中选择的行的数据
Nov 30 Javascript
JS限制条件补全问题实例分析
Dec 16 Javascript
Javascript实现信息滚动效果
May 18 Javascript
在Swiper内如何制作CSS3动画效果示例代码
Dec 07 Javascript
使用 Vue 绑定单个或多个 Class 名的实例代码
Jan 08 Javascript
vue实现前进刷新后退不刷新效果
Jan 26 Javascript
JavaScript惰性载入函数实例分析
Mar 27 Javascript
Array.filter中如何正确使用Async
Nov 04 Javascript
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
phpmyadmin操作流程
2006/10/09 PHP
一段实时更新的时间代码
2006/07/07 Javascript
JavaScript入门教程(9) Document文档对象
2009/01/31 Javascript
js 页面传参数时 参数值含特殊字符的问题
2009/12/13 Javascript
jquery.combobox中文api和例子,修复了上面的小bug
2011/03/28 Javascript
ASP.NET jQuery 实例8 (动态添加内容到DropDownList)
2012/02/03 Javascript
jquery实现鼠标拖动图片效果示例代码
2014/01/09 Javascript
JS实现文档加载完成后执行代码
2015/07/09 Javascript
详解JavaScript的变量和数据类型
2015/11/27 Javascript
js HTML5 Ajax实现文件上传进度条功能
2016/02/13 Javascript
跨域请求的完美解决方法(JSONP, CORS)
2016/06/12 Javascript
JS 实现Base64编码与解码实例详解
2016/11/07 Javascript
微信小程序 Nginx环境配置详细介绍
2017/02/14 Javascript
如何将HTML字符转换为DOM节点并动态添加到文档中详解
2018/08/19 Javascript
jQuery.parseJSON()函数详解
2019/02/28 jQuery
JavaScript实现PC端四格密码输入框功能
2020/02/19 Javascript
Windows系统配置python脚本开机启动的3种方法分享
2015/03/10 Python
python插入排序算法实例分析
2015/07/03 Python
json跨域调用python的方法详解
2017/01/11 Python
Python针对给定字符串求解所有子序列是否为回文序列的方法
2018/04/21 Python
python通过伪装头部数据抵抗反爬虫的实例
2018/05/07 Python
python如何将多个PDF进行合并
2019/08/13 Python
python每天定时运行某程序代码
2019/08/16 Python
python实现扫雷游戏
2020/03/03 Python
Python网络爬虫四大选择器用法原理总结
2020/06/01 Python
python使用QQ邮箱实现自动发送邮件
2020/06/22 Python
OpenCV+python实现膨胀和腐蚀的示例
2020/12/21 Python
CSS3的一个简单导航栏实现
2015/08/03 HTML / CSS
HTML5 FormData 方法介绍以及实现文件上传示例
2017/09/12 HTML / CSS
HTML5+lufylegend实现游戏中的卷轴
2016/02/29 HTML / CSS
EGO Shoes美国/加拿大:英国时髦鞋类品牌
2018/08/04 全球购物
彪马法国官网:PUMA法国
2019/12/15 全球购物
护士年终个人总结
2015/02/13 职场文书
朋友圈早安励志语录!
2019/07/08 职场文书
解决Jenkins集成SonarQube遇到的报错问题
2021/07/15 Java/Android
疑《守望先锋2》A测截图泄露 或将推出新模式、新界面
2022/04/03 其他游戏