道招

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还想支持回调?

相关文章

支持取消单选组件vue版

原生的单选就是 <input type="radio"/> ,正常情况在 name 相同的单选之间只能选一个,如果只有一个单选框的情况下,一经选中是无法自己取消的,和 阅读更多…

用在线IDE写vue代码

上周末无意中发现了一个新的在线IDE,网址glitch.com,个人感觉很不错,于是顺便关注了下其它的在线IDE,比如codesandbox.io也不错,没有细看,可能自己已经先入为主的喜欢上glit 阅读更多…

vue多语言的解决方案不只是 vue-i18n,前端+后端完整解决方案

网上搜很多vue多语言的,一般都是介绍vue-i18n怎么使用,当然这是不错的,但是我们如果只是讲这个的话,只是解决了静态文字的多语言化。 这一部分我们也简单讲一下 npm install 阅读更多…

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

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

从vuecli3学习webpack记录(一)vue-cli-serve机制

最近看了看vuecli3,把自己的学习记录下来。 首先看入口 npm run dev 即是 vue-cli-service serve ,之所以能运行 vue-cli-service 命令,就是 阅读更多…

命令式组件Message、Dialog的主流写法分析

这里还是以element-ui为例,那我们就看看里面的Message。 它的dom结构什么的就写在node-modules/element-ui/packages/notification/src/ 阅读更多…

关注道招网公众帐号
道招开发者二群