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 相关文章推荐
用jquery模仿的a的title属性的例子
Oct 22 Javascript
jQuery入门介绍之基础知识
Jan 13 Javascript
详解JavaScript中的表单验证
Jun 16 Javascript
Avalon中文长字符截取、关键字符隐藏、自定义过滤器
May 18 Javascript
AngularJS 依赖注入详解和简单实例
Jul 28 Javascript
BootStrap便签页的简单应用
Jan 06 Javascript
jQuery Validate 相关参数及常用的自定义验证规则
Mar 06 Javascript
vue $set 给数据赋值的实例
Nov 09 Javascript
ES6如何用一句代码实现函数的柯里化
Jan 18 Javascript
three.js 利用uv和ThreeBSP制作一个快递柜功能
Aug 18 Javascript
js屏蔽F12审查元素,禁止修改页面代码等实现代码
Oct 02 Javascript
JavaScript Dom实现轮播图原理和实例
Feb 19 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
Terran魔法科技
2020/03/14 星际争霸
我常用的几个类
2006/10/09 PHP
php更改目录及子目录下所有的文件后缀扩展名的代码
2010/10/12 PHP
DEDECMS首页调用图片集里的多张图片
2015/06/05 PHP
php中smarty区域循环的方法
2015/06/11 PHP
php上传图片生成缩略图(GD库)
2016/01/06 PHP
一个基于jquery的图片切换效果
2010/07/06 Javascript
Javascript 自适应高度的Tab选项卡
2011/04/05 Javascript
jQuery中阻止冒泡事件的方法介绍
2014/04/12 Javascript
原生js和jquery实现图片轮播特效
2015/04/23 Javascript
javascript遇到html5的一些表单属性
2015/07/05 Javascript
jquery地址栏链接与a标签链接匹配之特效代码总结
2015/08/24 Javascript
js随机生成字母数字组合的字符串 随机动画数字
2015/09/02 Javascript
基于JavaScript怎么实现让歌词滚动播放
2015/11/03 Javascript
js实现简单的选项卡效果
2017/02/23 Javascript
微信小程序开发之animation循环动画实现的让云朵飘效果
2017/07/14 Javascript
VUE2实现事件驱动弹窗示例
2017/10/21 Javascript
vue.js 添加 fastclick的支持方法
2018/08/28 Javascript
浅谈发布订阅模式与观察者模式
2019/04/09 Javascript
JavaScript实现抖音罗盘时钟
2019/10/11 Javascript
ElementUI多个子组件表单的校验管理实现
2019/11/07 Javascript
Vue中keep-alive组件的深入理解
2020/08/23 Javascript
JavaScript 实现拖拽效果组件功能(兼容移动端)
2020/11/11 Javascript
python学习笔记:字典的使用示例详解
2014/06/13 Python
Python中__name__的使用实例
2015/04/14 Python
python用10行代码实现对黄色图片的检测功能
2015/08/10 Python
Python 迭代器工具包【推荐】
2016/05/06 Python
Jupyter notebook远程访问服务器的方法
2018/05/24 Python
python3获取url文件大小示例代码
2019/09/18 Python
pycharm新建Vue项目的方法步骤(图文)
2020/03/04 Python
Python嵌入C/C++进行开发详解
2020/06/09 Python
CSS3 优势以及网页设计师如何使用CSS3技术
2009/07/29 HTML / CSS
考博专家推荐信模板
2013/12/02 职场文书
地球一小时倡议书
2014/04/15 职场文书
热门专业求职信
2014/05/24 职场文书
Javascript webpack动态import
2022/04/19 Javascript