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 相关文章推荐
js 函数的副作用分析
Aug 23 Javascript
JavaScript var声明变量背后的原理示例解析
Oct 12 Javascript
jquery实现人性化的有选择性禁用鼠标右键
Jun 30 Javascript
js使用split函数按照多个字符对字符串进行分割的方法
Mar 20 Javascript
浅谈被jQuery抛弃的函数及替代函数
May 03 Javascript
JavaScript实现为input与textarea自定义hover,focus效果的方法
Aug 21 Javascript
基于JQuery和CSS3实现仿Apple TV海报背景视觉差特效源码分享
Sep 21 Javascript
基于jQuery实现文字打印动态效果
Apr 21 jQuery
vue实现app页面切换动画效果实例
May 23 Javascript
Vue.js中数据绑定的语法教程
Jun 02 Javascript
JavaScript严格模式下关于this的几种指向详解
Jul 12 Javascript
详解Vue webapp项目通过HBulider打包原生APP(vue+webpack+HBulider)
Feb 02 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
thinkphp 多表 事务详解
2013/06/17 PHP
php curl 上传文件代码实例
2015/04/27 PHP
Referer原理与图片防盗链实现方法详解
2019/07/03 PHP
iframe 自适应高度[在IE6 IE7 FF下测试通过]
2009/04/13 Javascript
JS判断是否为数字,是否为整数,是否为浮点数的代码
2010/04/24 Javascript
JS中的异常处理方法分享
2013/12/22 Javascript
JS拖拽组件学习使用
2016/01/19 Javascript
Bootstrap中文本框的宽度变窄并且加入一副验证码图片的实现方法
2016/06/23 Javascript
JavaScript重定向URL参数的两种方法小结
2016/10/19 Javascript
jQuery弹出窗口打开链接的实现代码
2016/12/24 Javascript
ES6新特性六:promise对象实例详解
2017/04/21 Javascript
React-Native做一个文本输入框组件的实现代码
2017/08/10 Javascript
vue综合组件间的通信详解
2017/11/06 Javascript
jQuery实现常见的隐藏与展示列表效果示例
2018/06/04 jQuery
VUE中setTimeout和setInterval自动销毁案例
2020/09/07 Javascript
js实现简单的随机点名器
2020/09/17 Javascript
[02:47]DOTA2英雄基础教程 野性怒吼兽王
2013/12/05 DOTA
[04:04]显微镜下的DOTA2第六期——电影级别的华丽团战
2014/06/20 DOTA
[01:13:08]2018DOTA2亚洲邀请赛4.6 淘汰赛 mineski vs LGD 第二场
2018/04/10 DOTA
粗略分析Python中的内存泄漏
2015/04/23 Python
对Python的Django框架中的项目进行单元测试的方法
2016/04/11 Python
python语言中with as的用法使用详解
2018/02/23 Python
佳能加拿大网上商店:Canon eStore Canada
2018/04/04 全球购物
屈臣氏俄罗斯在线商店:Watsons俄罗斯
2020/08/03 全球购物
小学生自我评价范例
2013/09/24 职场文书
自荐信的两点禁忌
2013/10/30 职场文书
服装设计专业求职信
2014/06/16 职场文书
企业群众路线教育实践活动心得体会
2014/11/03 职场文书
机关单位工作失职检讨书
2014/11/20 职场文书
华清池导游词
2015/02/02 职场文书
自我检讨书怎么写
2015/05/07 职场文书
甲午风云观后感
2015/06/02 职场文书
同意转租证明
2015/06/24 职场文书
浅析Python中的套接字编程
2021/06/22 Python
动视暴雪取消疫苗禁令 让所有员工返回线下工作
2022/04/03 其他游戏
Win11更新失败并提示0xc1900101
2022/04/19 数码科技