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代码,粗糙版
Nov 04 Javascript
JavaScript 函数参数是传值(byVal)还是传址(byRef) 分享
Jul 02 Javascript
使用JSON作为函数的参数的优缺点
Oct 27 Javascript
基于jQuery实现左侧菜单栏可折叠功能
Dec 27 Javascript
WebPack基础知识详解
Jan 16 Javascript
原生js实现放大镜
Feb 20 Javascript
利用jQuery实现一个简单的表格上下翻页效果
Mar 14 Javascript
JS实现针对给定时间的倒计时功能示例
Apr 11 Javascript
详解angularjs 关于ui-router分层使用
Jun 12 Javascript
基于jquery实现多选下拉列表
Aug 02 jQuery
js实现移动端轮播图
Dec 21 Javascript
Antd表格滚动 宽度自适应 不换行的实例
Oct 27 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
怎么样可以把 phpinfo()屏蔽掉?
2006/11/24 PHP
php调用mysql数据 dbclass类
2011/05/07 PHP
利用PHP实现智能文件类型检测的实现代码
2011/08/02 PHP
Laravel 5框架学习之Blade 简介
2015/04/08 PHP
如何使用GDB调试PHP程序
2015/12/08 PHP
thinkphp5+layui实现的分页样式示例
2019/10/08 PHP
PHP设计模式之建造者模式(Builder)原理与用法案例详解
2019/12/12 PHP
脚本吧 - 幻宇工作室用到js,超强推荐share.js
2006/12/23 Javascript
javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
2009/02/04 Javascript
早该知道的7个JavaScript技巧
2013/03/27 Javascript
jQuery语法高亮插件支持各种程序源代码语法着色加亮
2013/04/27 Javascript
基于IE下ul li 互相嵌套时的bug,排查,解决过程以及心得介绍
2013/05/07 Javascript
火狐textarea输入法的bug的触发及解决
2013/07/24 Javascript
省市联动效果的简单实现代码(推荐)
2016/06/06 Javascript
jQuery 获取遍历获取table中每一个tr中的第一个td的方法
2016/10/05 Javascript
轻松实现jquery选项卡切换效果
2016/10/10 Javascript
Javascript别踩白块儿(钢琴块儿)小游戏实现代码
2017/07/20 Javascript
React-Native做一个文本输入框组件的实现代码
2017/08/10 Javascript
ionic选择多张图片上传的示例代码
2017/10/10 Javascript
小程序实现搜索界面 小程序实现推荐搜索列表效果
2019/05/18 Javascript
vue监听dom大小改变案例
2020/07/29 Javascript
[04:26]2014DOTA2西雅图国际邀请赛 总决赛TOPPLAY
2014/07/22 DOTA
python实现人人网登录示例分享
2014/01/19 Python
Python实现的快速排序算法详解
2017/08/01 Python
python GUI实例学习
2017/11/21 Python
Python实现的生成格雷码功能示例
2018/01/24 Python
python自动下载图片的方法示例
2020/03/25 Python
python 使用raw socket进行TCP SYN扫描实例
2020/05/05 Python
Pytorch使用PIL和Numpy将单张图片转为Pytorch张量方式
2020/05/25 Python
使用HTML5 Geolocation实现一个距离追踪器
2018/04/09 HTML / CSS
ALEX AND ANI:手镯,项链,耳环和更多
2017/04/20 全球购物
法国女性内衣购物网站:Glamuse
2019/05/13 全球购物
abstract class和interface有什么区别?
2012/01/03 面试题
教师党员自我剖析材料
2014/09/29 职场文书
拉贝日记观后感
2015/06/05 职场文书
win10系统计算机图标怎么调出来?win10调出计算机图标的方法
2022/08/14 数码科技