Vue同一路由跳转页面不刷新解决方案及注意事项之二
Vue同一路由跳转页面不刷新解决方案及注意事项之二
之前写过一个《Vue同一路由跳转页面不刷新解决方案及注意事项》,在这篇文章里面鞋到了怎么解决这个问题,具体内容可以点击查看,这里简单说一下,就是利用将时间戳传给路由的query,也就导致$route.fullPath
不一样,然后配合key
来解决。同时也提到了这样做的缺陷,缺点就是组件内的路有生命周期beforeRouteLeave
不执行了,我们通常在这个周期里面做一些例如编辑文章时突然要跳走,可以来提示是否保存草稿的事情。
其实我们看官网可以发现其实Vue官方是在vue-rroute2.2版本中引入的 beforeRouteUpdate
,这个钩子的。
还是在之前的代码中进行测试,我们从/goNext跳转到/goBack页面。
这时肯定没有问题,goNext里面的beforeRouteLeave
周期是会执行的, beforeRouteUpdate
是没有的。
现在我们从/goNext跳转到/goNext?ts=12123323232页面。
和之前测试的一样,beforeRouteLeave
周期没有执行的, 但是beforeRouteUpdate
执行了,我们之前需要的比如跳转前提示保存草稿场景中,我们原本写在beforeRouteLeave
周期里面的代码就可以在beforeRouteUpdate
再写一份了,这样的话就能达到保证给予跳转前提示的作用了,并且这两个钩子只会执行一个,这样我们也不用自行区分了,是不是很棒,感谢Vue官方。
- 分类:
- Web前端
相关文章
Vue2.6.10源码分析(一)vue项目怎么神奇的跑起来的
先看index.html的代码吧 <!DOCTYPE html> <html lang="en"> <head> <meta 阅读更多…
vue发送请求是应该在mounted还是在created生命周期
一个经常会被问到的问题: 为什么不在 created 里去发ajax? created 可是比 mounted 更早调用啊,更早调用意味着更早返回结果,那样性能不是更高? 首先,一 阅读更多…
项目Vue转成React hooks可能存在的问题--急需类似setState回调
假设在Vue中有如下三个方法,并且初始时 this.a = ‘a’; this.b = ‘b’; funA() { this.a = '1221 阅读更多…
Vue和React hooks实现Select批量选择、选中条数、全选、反选实现对比
批量选择、全选、反选这些功能使用频率还是很高的,下面直接看看Vue和React分别怎么实现吧。 Vue 在使用Vue的时候是很容易实现的,我们以下列数据格式为例: const data 阅读更多…
vue-cli设置css不生效
我们有的项目使用的是老的vue-cli脚手架生成的,今天想写点东西,发现.vue文件里面 style 里面写的样式都不生效了,很自然就想到是不是loader的问题。 在这种项目的webpack.ba 阅读更多…
vue内置组件keep-alive源码解析
很简单,我们直接看vue的源码即可。 keep-alive 组件支持三个属性。 props: { include: patternTypes, exclude: patter 阅读更多…