道招

Vue同一路由跳转页面不刷新解决方案及注意事项之二

如果您发现本文排版有问题,可以先点击下面的链接切换至老版进行查看!!!

Vue同一路由跳转页面不刷新解决方案及注意事项之二

之前写过一个《Vue同一路由跳转页面不刷新解决方案及注意事项》,在这篇文章里面鞋到了怎么解决这个问题,具体内容可以点击查看,这里简单说一下,就是利用将时间戳传给路由的query,也就导致$route.fullPath不一样,然后配合key来解决。同时也提到了这样做的缺陷,缺点就是组件内的路有生命周期beforeRouteLeave不执行了,我们通常在这个周期里面做一些例如编辑文章时突然要跳走,可以来提示是否保存草稿的事情。

其实我们看官网可以发现其实Vue官方是在vue-rroute2.2版本中引入的 beforeRouteUpdate,这个钩子的。 还是在之前的代码中进行测试,我们从/goNext跳转到/goBack页面。 file

这时肯定没有问题,goNext里面的beforeRouteLeave周期是会执行的, beforeRouteUpdate是没有的。

现在我们从/goNext跳转到/goNext?ts=12123323232页面。 file 和之前测试的一样,beforeRouteLeave周期没有执行的, 但是beforeRouteUpdate执行了,我们之前需要的比如跳转前提示保存草稿场景中,我们原本写在beforeRouteLeave周期里面的代码就可以在beforeRouteUpdate再写一份了,这样的话就能达到保证给予跳转前提示的作用了,并且这两个钩子只会执行一个,这样我们也不用自行区分了,是不是很棒,感谢Vue官方。

更新时间:
上一篇:项目Vue转成React hooks可能存在的问题--急需类似setState回调下一篇:vue迁移react使用useReducer hooks还想支持回调?

相关文章

从vuecli3学习webpack记录(零)整体流程

今天看了下自己之前写的从vuecli3学习webpack记录系列,感觉自己居然没有在一开始的时候把vuecli的 npm run serve 的整体流程在一篇文章里面完整的讲完,可能是因为打字打的手 阅读更多…

用个数组来理解vue的diff算法(一)

原文地址: 道招网 的 用个数组来理解vue的diff算法(一) Vue使用的diff算法,我相信用vue的估计都听过,并且看到源码的也不在少数。 先对下面的代码做下说明: 由于这里用 阅读更多…

邮箱收件人组件(vue版)成长历程(一)

前期项目中需要优化原始的收件人、抄送、密送部分,换成更加现代化的样式和用户,当时将这部分抽象成一个组件了,最近的需求是发件人也要使用该组件,鉴于发件人比收件人等需要校验的地方和交互习惯变动点较多,进 阅读更多…

element-ui表单源码解析之el-input

关于表单校验el-input做的主要工作就是跟el-form-item交互,把input的相关事件发送给el-form-item,上一篇已经讲到在el-form-item的mounted的生命周期里 阅读更多…

项目Vue转成React hooks可能存在的问题--急需类似setState回调

假设在Vue中有如下三个方法,并且初始时 this.a = ‘a’; this.b = ‘b’; funA() { this.a = '1221&#03 阅读更多…

Vue2.6.10源码分析(一)vue项目怎么神奇的跑起来的

先看index.html的代码吧 <!DOCTYPE html> <html lang="en"> <head> <meta 阅读更多…

关注道招网公众帐号
联系博主