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编程起步(第七课)
Jan 10 Javascript
详解JavaScript ES6中的Generator
Jul 28 Javascript
JS基于cookie实现来宾统计记录访客信息的方法
Aug 04 Javascript
跟我学习javascript的严格模式
Nov 16 Javascript
归纳下js面向对象的几种常见写法总结
Aug 24 Javascript
js随机生成一个验证码
Jun 01 Javascript
vue.js 实现点击按钮动态添加li的方法
Sep 07 Javascript
Vue基于iview实现登录密码的显示与隐藏功能
Mar 06 Javascript
Vue + Scss 动态切换主题颜色实现换肤的示例代码
Apr 27 Javascript
Kettle中使用JavaScrip调用jar包对文件内容进行MD5加密的操作方法
Sep 04 Javascript
js实现贪吃蛇游戏(简易版)
Sep 29 Javascript
5个实用的JavaScript新特性
Jun 16 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
全国FM电台频率大全 - 20 广西省
2020/03/11 无线电
详细介绍PHP应用提速面面观
2006/10/09 PHP
php把数组值转换成键的方法
2015/07/13 PHP
2017年最好用的9个php开发工具推荐(超好用)
2017/10/23 PHP
Jquery中显示隐藏的实现代码分析
2011/07/26 Javascript
通过Javascript将数据导出到外部Excel文档的函数代码
2012/06/15 Javascript
js实现(全选)多选按钮的方法【附实例】
2016/03/30 Javascript
ES6记录异步函数的执行时间详解
2016/08/31 Javascript
微信小程序 Record API详解及实例代码
2016/09/30 Javascript
PHP实现本地图片上传和验证功能
2017/02/27 Javascript
vue.js指令和组件详细介绍及实例
2017/04/06 Javascript
详解Vue微信公众号开发踩坑全记录
2017/08/21 Javascript
zTree异步加载展开第一级节点的实现方法
2017/09/05 Javascript
动手写一个angular版本的Message组件的方法
2017/12/16 Javascript
基于jquery trigger函数无法触发a标签的两种解决方法
2018/01/06 jQuery
bootstrap table支持高度百分比的实例代码
2018/02/28 Javascript
JavaScript对象的浅拷贝与深拷贝实例分析
2018/07/25 Javascript
JavaScript禁用右键单击优缺点分析
2019/01/20 Javascript
node Buffer缓存区常见操作示例
2019/05/04 Javascript
CentOS中升级Python版本的方法详解
2017/07/10 Python
Python 在字符串中加入变量的实例讲解
2018/05/02 Python
详解Django定时任务模块设计与实践
2019/07/24 Python
python批量解压zip文件的方法
2019/08/20 Python
python通过实例讲解反射机制
2019/10/17 Python
浅谈Python 函数式编程
2020/06/20 Python
CSS3过渡transition效果实例介绍
2016/05/03 HTML / CSS
世界上最大的冷却器制造商:Igloo Coolers
2019/07/23 全球购物
Pureology官网:为染色头发打造最好的产品
2019/09/13 全球购物
大学社团活动策划书
2014/01/26 职场文书
精彩的广告词
2014/03/19 职场文书
我的中国梦演讲稿800字
2014/08/19 职场文书
售房委托书
2014/08/30 职场文书
2014年居委会工作总结
2014/12/09 职场文书
2016公务员年度考核评语
2015/12/01 职场文书
餐饮行业关注的9大营销策略
2019/08/26 职场文书
mysql使用FIND_IN_SET和group_concat两个方法查询上下级机构
2022/04/20 MySQL