当前位置:首页 > wifi设置知识 > 正文内容

vue多级路由刷新问题

秋天2023年02月28日 12:06:13wifi设置知识331

本篇文章给大家谈谈vue多级路由刷新问题,以及vue路由局部刷新对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文内容目录一览:

vue中的页面刷新问题

1. 用vue-router重新路由到当前页面,页面是不进行刷新的

2.采用window.reload(),或者router.go(0)刷新时,整个浏览器进行了重新加载,闪烁,体验感贼不好

3.provide / inject 组合

作用:允许一个祖先组件向其所有子孙后代注入一个依赖,不论组件层次有多深,并在起上下游关系成立的时间里始终生效。

App.vue:

声明reload方法,控制router-view的显示或隐藏,从而控制页面的再次加载

4.provide / inject 用法

provide:选项应该是一个对象或返回一个对象的函数。该对象包含可注入其子孙的属性。

inject:一个字符串数组,或一个对象,对象的 key 是本地的绑定名

提示:provide 和 inject 绑定并不是可响应的。这是刻意为之的。如果你传入了一个可监听的对象,那么其对象的属性还是可响应的。

vue中实现刷新路由

有时候有这样的场景,需要重新加载当前的页面,但不是像刷新浏览器一样刷新整个网站,那样如果有全局保存的数据(比如vuex的数据,当前页面的路由参数)就会重置,所以需要实现刷新当前路由。

实现先说一个属性: router.replace

replace 和 push 用法基本一样,但不会在浏览器留下 history 记录,就是当你使用 replace 访问的路径,通过浏览器的前进后退按钮都访问不到。

实现的方法有点投机取巧,就是建立一个空页面,通过 router.replace 访问,再从空页面使用 router.replace 跳转回来,达到刷新当前路由的效果。下面是基础实现:

先建立一个组件做空页面, refresh.vue :

通过使用组件的路由前置守卫返回上一个页面,需要注意的是在这个守卫中访问不到 this 实例,需要通过在 next 回调中的参数代表平时的 this 。

再建立这个空页面的路由信息:

最后在你需要刷新路由的组件中的方法中访问该路径即可:

这样算是完成一个乞丐投机取巧版的刷新当前路由,这种方法是有瑕疵的,当刷新的路由带有参数, params 或者 query ,通过这个刷新方式之后参数就会丢失,所以需要将上面的方法加以改造一下,让参数页面的参数保持不变,先从需要刷新路由的组件的方法改造:

这样兼容了路由中带有 params 和 query ,先判断了当前路由是否有 params 属性,如果当前路由没有 params 和 query 属性,默认都是空对象,所以传递一个空对象跟没传是一样的。注意路由跳转传递 params 和 query 的方式不相同,传递 params 时,不能使用路由的 path ,需要用到路由 nam e属性,所以上面分了情况进行跳转。这样跳转到写好的空页面,参数是传递给 refresh 这个路由,所以需要再从这个空页面传递回来,下面是改造后的 refresh 组件:

在这个路由守卫中, to 就代表当前页面,也就是 refresh 组件

改造后这个刷新路由的方式就兼容了路由带有参数的情况,目前超人鸭遇到的需求这种方式已经能满足,如果还有其他情况需要再做处理的,或者有更好的实现方法,欢迎指教哦。

vue-router动态路由添加及路由刷新后消失的解决办法

1、取出非第一级的所有数据

2、映射出所有路由规则

3、添加路由

4、 登录成功后 保存菜单数据,保存后在vuex直接触发添加事件即可 this.commit('add_route')

vue路由传参及解决vue路由传参页面刷新参数丢失问题

Vue中给我们提供了三种路由传参方式,下面我们一个一个的来看一下:

注意:

以上传参方式基本上可以理解为ajax中的post请求方式,参数都是不可见的,但是该方法有一个弊端,就是当页面刷新后参数值会丢失!!!

以上两种方式是可以解决页面刷新参数消失问题的,query这种方式可以理解为是ajax中的get方法,参数是直接在url后面添加的,参数是可见的。

当多个路由地址对应同一组件时,切换路由组件不刷新的问题

在vue官方文档中进行了如下描述:

解释一下:当我们使用 动态路由 或者在 路由上拼接参数 时,进行页面组件跳转,如果前后跳转都使用了同一个组件,这就导致我们后面的路由跳转会使用前一次组件实例,因此组件不会重新渲染加载

当我们想传递参数后,组件重新渲染组件实例,可以使用vue官方文档提供的方案:

如果我们对"路由变化作出响应是"============== 刷新当前组件的话 :

可以使用: this.$router.go(0)  来刷新当前组件

vue实现多级路由的思维

一级路由包含二级路由再包含更多的子路由,需要缓存的页面用keepalive 包括就OK,但是每次回到上级路由,是否刷新当前页面?

答案是肯定的,从下级路由回到上级,可以用keeplive,直接复用内存里的,不用二次加载。

另外就是keeplive 要在vuerouter标签之外、

二 一个就是要实现多级路由复用一个组件的问题,数据展示页,数据和样式的组合,再被渲染到展示页面。

具体怎么实现不知道,props貌似能做的有限。目前数据是写死的,然后比较简单。这个用什么去搞呢??

所以,挂在路由页面之前,要渲染数据,那么在数据的获取的方式就有很多种,所以需要再考虑一下。

现在希望,进入二级路由之后,页面产生三级路由,三级路由点击之后,还是在二级路由,或者说如何销毁上级路由的内容呢?

vue多级路由刷新问题的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vue路由局部刷新、vue多级路由刷新问题的信息别忘了在本站进行查找喔。

扫描二维码推送至手机访问。

版权声明:本文由路由设置网发布,如需转载请注明出处。

本文链接:https://www.shoulian.org/luyou/post/10144.html

分享给朋友:

“vue多级路由刷新问题” 的相关文章

手机怎么上路由器踢人

手机怎么上路由器踢人

本篇文章给大家谈谈手机怎么上路由器踢人,以及移动路由器怎么踢人对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文内容目录一览: 1、怎样在手机上把蹭wifi的人踢掉? 2、怎么用手机踢掉蹭wifi的人? 3、手机如何踢出蹭网的 怎样在手机上把蹭wifi的人踢掉? 彼此都是蹭wif...

怎么设置路由器屏蔽网站

怎么设置路由器屏蔽网站

当朋友们看到这个文章时想必是想要了解怎么设置路由器屏蔽网站相关的知识,这里同时多从个角度为大家介绍迅捷路由器怎么屏蔽网址相应的内容。 本文内容目录一览: 1、蚂蚁路由器屏蔽了网站怎么设置 2、路由器怎么屏蔽网站? 3、水星设置路由器网站过滤 蚂蚁路由器屏蔽了网站怎么设置 1、打开后浏览器在...

电脑管家怎么安装路由器

电脑管家怎么安装路由器

本篇文章给大家谈谈电脑管家怎么安装路由器,以及路由器管家下载安装对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文内容目录一览: 1、怎么安装路由器? 2、如何用小翼管家连接路由器? 3、怎么在电脑上安装路由器的步骤可以使用? 4、电脑管家路由器管家XP怎么设置 5、怎样安...

路由器几个插口怎么插

路由器几个插口怎么插

本篇文章给大家谈谈路由器几个插口怎么插,以及无线路由器后面几个插口对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文内容目录一览: 1、路由器5个插口 怎么插 2、路由器后面的插孔怎么插? 3、无线路由器后面的几个孔怎么用 4、联通路由器怎么插线? 5、路由器插口连接图的正...

路由器白色线怎么拔掉

路由器白色线怎么拔掉

针对路由器白色线怎么拔掉这个问题,本文将综合不同朋友对这个路由器白色线怎么拔掉啊的知识为大家一起来解答,希望能帮到大家 本文内容目录一览: 1、华为路由器网线拔不出来 2、路由器网线网线怎么拔掉 3、路由器怎么拔掉 华为路由器网线拔不出来 先按那个塑料的东西一直按着往外拔。水晶头有卡子的一...

广电换路由器怎么设置

广电换路由器怎么设置

本篇文章给大家谈谈广电换路由器怎么设置,以及广电宽带换路由器怎么设置对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文内容目录一览: 1、广电网络怎么设置路由器 2、广电宽带怎么设置路由器 3、广电宽带路由器怎么设置 4、广电宽带怎么连接路由器? 5、广电网络的路由器可以换...