前几天项目经理提了个需求要实现点击刷新按钮实现页面的局部刷新,刷新页面使用谷歌的重新加载不是就可以了何必要去自己开发呢?结果自己尝试了一番发现只能实现全局的刷新,局部刷新还是比较捉急。
push和replace这两个都方法都是vue-router提供的api。
在vue项目中使用this.$router.push()方法来跳转不同路径,如果跳转相同的路径的话会发现页面并没有刷新,而是在histry栈中添加了一个新的记录,所以,当用户点击浏览器后退按钮时,则回到之前的 URL。
使用this.$router.replace()方法报错vue-router.esm.js?8aaf:2065 Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location这个是由于多次访问相同路由导致路由重复。
将要刷新的路由和刷新后的路由之间通过一个桥梁(作为过渡)来连接。
将路由的信息和参数全部都传给"桥梁",当其跳转的一瞬间获取到参数和路由信息跳转到原来的路由。为了让用户无感知在跳转"桥梁"路由的时候使用replace方法不会向history中添加新的记录,在跳回原路由的时候是history方法,如果路由相同会替换之前的路由,而用户在点击浏览器回退按钮的时候悄然不知做了什么。
- this.$router.replace({
- path: '/redirect' + fullpath
- })
配置路由信息
- {
- path: '/redirect/:path(.*)',
- component: () => import('@/views/redirect/index')
- }
桥梁文件
- <script>
- export default {
- beforeCreate() {
- const { params, query } = this.$route
- const { path } = params
- this.$router.replace({ path: '/' + path, query })
- },
- render(h) {
- return h()
- }
- }
- </script>
作者 | 黄玉奇 来源 | 阿里巴巴云原生公众号 日前,在由全球分布式云联盟主办的...
只有 域名 能备案吗?不能的,备案是需要国内空间的, 虚拟主机 或者服务器的都...
对于广大的 Flink 开发者同学来说, 什么内容是最期待的? 什么信息又是最有用的...
怎么升级 虚拟主机 ?当网站运营到一定阶段,虚拟主机配置跟不上网站发展,这时...
随着云计算、物联网、移动互联网等互联网技术的快速发展,人们对于网络技术的依...
FFmpeg备忘清单 ffmpeg命令行工具的有用命令列表。 下载FFmpeg:https://www.ffm...
2020年,AWS的年收入规模已经超过450亿美元,营收增速和运营利润率超过30%。IDC...
本文转载自微信公众号「脑子进煎鱼了」,作者陈煎鱼 。转载本文请联系脑子进煎鱼...
hk 域名 哪里注册? .hk域名 在国内是可以注册的,只要提供了.hk 域名注册 服务...
深入浅出AbstractQueuedSynchronizer 在Java多线程编程中,重入锁(ReentrantLock...