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 尚未实现错误解决办法
Nov 27 Javascript
javascript 运算数的求值顺序
Aug 23 Javascript
Firefox/Chrome/Safari的中可直接使用$/$$函数进行调试
Feb 13 Javascript
js猜数字小游戏的简单实现代码
Jul 02 Javascript
仿谷歌主页js动画效果实现代码
Jul 14 Javascript
jQuery替换字符串(实例代码)
Nov 13 Javascript
5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
Jan 29 Javascript
JavaScript使用Replace进行字符串替换的方法
Apr 14 Javascript
jQuery蓝色风格滑动导航栏代码分享
Aug 19 Javascript
jQuery实现两个select控件的互移操作
Dec 22 Javascript
javascript事件的绑定基础实例讲解(34)
Feb 14 Javascript
详解基于electron制作一个node压缩图片的桌面应用
Jan 29 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
php检测图片主要颜色的方法
2015/07/01 PHP
PHP CodeIgniter分页实例及多条件查询解决方案(推荐)
2017/05/20 PHP
PHP查询分页的实现代码
2017/06/09 PHP
精心挑选的15款优秀jQuery 本特效插件和教程
2012/08/06 Javascript
jquery获取自定义属性(attr和prop)实例介绍
2013/04/21 Javascript
jquery隔行换色效果实现方法
2015/01/15 Javascript
js的window.showModalDialog及window.open用法实例分析
2015/01/29 Javascript
DEDECMS如何为文章添加HOT NEW标志图片
2015/08/14 Javascript
JS实现的不规则TAB选项卡效果代码
2015/09/18 Javascript
JavaScript组件开发完整示例
2015/12/15 Javascript
BootStrap点击下拉菜单项后显示一个新的输入框实现代码
2016/05/16 Javascript
一次$.getJSON不执行的简单记录
2016/07/19 Javascript
JavaScript中的对象和原型(一)
2016/08/12 Javascript
vuejs在解析时出现闪烁的原因及防止闪烁的方法
2016/09/19 Javascript
使用socket.io实现简单聊天室案例
2018/01/02 Javascript
angularjs 页面自适应高度的方法
2018/01/17 Javascript
Vue 中axios配置实例详解
2018/07/27 Javascript
JS实现数组的增删改查操作示例
2018/08/29 Javascript
jQuery实现手风琴效果(蒙版)
2020/01/11 jQuery
写给新手同学的vuex快速上手指北小结
2020/04/14 Javascript
解决pycharm双击但是无法打开的情况
2020/10/31 Javascript
[01:12](回顾)DOTA2国际邀请赛,全世界DOTAer的盛宴
2014/07/01 DOTA
python 将print输出的内容保存到txt文件中
2018/07/17 Python
python3实现字符串操作的实例代码
2019/04/16 Python
浅谈python已知元素,获取元素索引(numpy,pandas)
2019/11/26 Python
在win64上使用bypy进行百度网盘文件上传功能
2020/01/02 Python
pycharm进入时每次都是insert模式的解决方式
2021/02/05 Python
办公室综合文员岗位职责范本
2014/02/13 职场文书
检察院院长群众路线教育实践活动个人整改措施
2014/10/04 职场文书
巾帼文明岗汇报材料
2014/12/24 职场文书
三八妇女节慰问信
2015/02/14 职场文书
个人党性锻炼总结
2015/03/05 职场文书
2015年社区创卫工作总结
2015/04/21 职场文书
2015入党个人自传范文
2015/06/26 职场文书
推荐六本经典文学奖书籍:此生必读
2019/08/22 职场文书
Mysql systemctl start mysqld报错的问题解决
2021/06/03 MySQL