使用vue让某个请求只触发一次,路由跳转页面刷新都不会再请求

使用vue让某个请求只触发一次,路由跳转页面刷新都不会再请求,第1张

最近有一个需求就是让用户初始进入页面时使用的areaCode是从用户角色列表里面user字段所对应的areaCode,后面 *** 作了地区选择后切换路由或者是其他 *** 作都不会再切换地址和当前地址的areaCode,因为正常的情况我们一般会在vue的生命周期mouted里面去获取下一用户的角色信息去提前获取areaCode,但是我们一旦切换页面或者切换路由后,再回到这个页面mouted里面获取角色信息的方法又回触发,所以这是我们需要去解决的。所以我想到了用一个标识去识别该方法第一次触发过,后续就不会再触发了。接下来我们就看看代码吧
 // 使用本地存储sessionStorage来存入标识,这样跳转后再回来就不会将标识覆盖,而且使用sessionStorage来存储想比较雨localStorage来说不会有缓存问题,页面关闭标识也就删除了
   let queryCodeDate=sessionStorage.getItem('queryCode')
if(!queryCode){
         // 我目前的业务需求是进入页面获取当前登陆人的角色信息,获取角色里面User的areaCode,但是只需要第一次触发获取
         this.rolesList=this.$store.getters['userInfo/roles'];
         if(this.rolesList&&this.rolesList.length;i++){
                 for(let i=0;i
这就是使用这个逻辑打印出来的输出结果,可以看到多次使用只有第一次触发了if里面的判断,后面再吊用就只会走else里面的逻辑了

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1322670.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-12
下一篇 2022-06-12

发表评论

登录后才能评论

评论列表(0条)