首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    keepAlive页面缓存以及新页面不刷新问题(activated方法)

    问题 如果我们按照 A 类型进行搜索,查出来100条数据(默认20条/页),我们翻阅到第 3 页,找到 B 数据,我们对 B 进行编辑,编辑过后回到列表页面,按照用户体验我们还是想回到按 A 搜索的第...但是有个问题,因为编辑页、注册页等是通过路由跳转,当我们编辑了某条数据,返回列表页时,因为被缓存列表页展示的数据并没有被更新过来,只有刷新下才能更新过来。 重点来了 就几行代码,解决问题。...所以你页面中需要的刷新都写在这里面就完成了。 你以为这样就结束了吗!!!没有 A页面缓存了,push进入B页面。首次进入B页面数据正常,url也正常。回退到A页面,A页面确实缓存了。...再从列表中选择进入B页面。此时B页面的数据是缓存的,但是url是正常的!!!见了鬼了!...处理方案一: 在B页面也加,进行处理 // 详情页面 activated() { 需要刷新的数据 } 处理方案二: <keep-alive v-if="keepAlive" exclude

    8.1K20

    vue单页 使用keep-alive页面返回不刷新

    使用vue单页开发项目时遇到一个很恶心的问题:在列表页点击一条数据进入详情页,按返回键返回列表页时页面刷新了,用户体验非常差啊!!!...}, meta: { pageTitle: '主页', keepAlive: true } } 这样设置了之后,主页的状态就会保存,返回键返回到主页时页面不会刷新请求数据了...从主页跳到任何页面,再返回主页都不会刷新页面!这并不是我想要的,我只要从详情页返回列表页时不刷新页面,其他情况下是需要刷新的,那么我就需要定制化处理了。...return { }; }, mounted() { }, methods: { }, //修改列表页的meta值,false时再次进入页面会重新请求数据...注意问题: beforeRouterLeave必须写在有配置路由的页面上才有效的,最开始我想写在App.vue页面上,发现根本就不执行的!

    3.5K30

    解决浏览器差异导致从子页面回到父页面,父页面不刷新的问题

    概述:   在做H5混合开发的时候总是会遇到浏览器差异、不兼容导致同样的代码,IOS和Andoird其中之一出现不可预见的问题。   ...我的问题也是如此,我的需求是从父页面跳转子页面,子页面提交后返回父页面,并且父页面刷新。   ...Android的Chrome浏览器对这个需求就很容易支持,因为他每次页面重新显示的时候,都会刷新整个页面。而IOS的Safari浏览器出现了问题,Safari浏览器会读取缓存,不会重新刷新页面。...总体思路是在子页面返回时,告知父页面刷新。并且只在IOS上执行这个操作,否则Android会刷新两遍。   ...它是在页面显示的时候响应,同时支持Chrome和Safari。

    3.7K20

    Pinia 状态持久化:刷新页面数据不丢失的 3 种方案

    大家好,我是腾讯云开发者社区的Front_Yue,本篇文章将带大家深入探讨如何在Vue3项目中使用Pinia实现状态持久化,确保页面刷新后数据不会丢失。...但一个常见问题是:当我们刷新页面时,Pinia的state会重置为初始值,导致用户数据丢失。...比如:登录信息被清空,需要重新登录购物车数据丢失,用户体验差临时配置状态消失,影响业务逻辑因此,状态持久化就显得尤为重要,它可以确保数据在刷新、关闭或重新打开页面时依然存在。...$subscribe,手动将数据写入localStorage或sessionStorage,页面加载时再恢复数据。...通过这些方法,你可以让Vue3应用在刷新页面后依然保持数据完整,提升用户体验。

    3.3K00

    Vuex页面刷新的数据丢失问题

    Vuex页面刷新的数据丢失问题 1、问题描述 2、解决方案:使用sessionStorage   在实际项目中,经常会遇到多个组件需要访问同一个数据的情况,且都需要根据数据的变化作出响应,而这些组件之间可能并不是父子组件这种简单的关系...1、问题描述 Vuex用起来确实很舒服,但是今天碰到了个问题,就是我将JWT和一些权限字符串使用store保存的时候,刷新页面之后这些值就没了,由于我后端集成了SpringSecurity,所以每次请求我都会去验证...JWT,如果刷新页面的话,后续请求头中就没有token,就会导致报错。   ...state.token = token } }, actions: { }, modules: { } })   刚登录进去还是有值的,如下图:   刷新页面之后...localStorage数据生命周期是永久,不手动清除不会消失,所以不推荐使用   修改store/index.js配置如下: import {createStore} from 'vuex' import

    2.8K30

    浏览器后退不刷新页面的解决办法

    在开发微信的H5页面的时候,发现ISO的微信内置浏览器后退不刷新了,然而业务实现需要刷新。...IOS上的微信内置浏览器为了优化用户体验,采用了后退不刷新的策略,也就是A页面打开B页面,B页面后退到A页面的时候,A页面不刷新(连JS都不执行)。...可以理解成A页面打开B页面的时候,A页面被隐藏了,后退的时候只是把A页面显示出来了。 这种情况禁缓存是没有效果的,可以通过监听onpageshow来刷新页面。...代码如下,在A页面的JS中添加 //解决IOS微信webview后退不执行JS的问题 window.onpageshow = function(event) { if (event.persisted...) { window.location.reload(); } }; event.persisted为了查看页面是直接从服务器上载入还是从缓存中读取的。

    4.5K30

    vuex在页面刷新后数据被清除

    用vuex来做全局的状态管理, 发现当刷新网页后,保存在vuex实例store里的数据会丢失 产生原因 其实很简单,因为store里的数据是保存在运行内存中的,当页面刷新时,页面会重新加载vue实例,store...而第二种可以保证刷新页面数据不丢失且易于读取。...vue是单页面应用,操作都是在一个页面跳转路由;sessionStorage可保证打开页面时sessionStorage的数据为空,而如果是localStorage则会读取上一次打开页面的数据。...因为我们是只有在刷新页面时才会丢失state里的数据,想法在点击页面刷新时先将state数据保存到sessionStorage,然后才真正刷新页面 beforeunload这个事件在页面刷新时先触发的。...我们总不能每个页面都监听这个事件,所以选择放在app.vue这个入口组件中,这样就可以保证每次刷新页面都可以触发。

    4.6K00

    vue传参页面刷新数据丢失问题

    在做vue的时候,经常会遇到组件之间数据的传递问题,通过params或者query传参,但是,当页面刷新的时候,数据会丢失,找不到数据。今天经过总结,解决了这个问题。...通过了一下几种情况进行传值: 通过路由params传参 通过路由query传参 通过vuex 1.通过params传参 先在路由path里那个组件需要传递参数,定义一个参数,用于组件传递,params刷新页面数据会丢失...1.通过query传参 路由传值有两种方式,params和query,params传值刷新页面是要消失的,然而query却不会,两者的区别就在于query会把传递的参数显示在url地址中,就像下面这样...这样无论怎么刷新,数据都不会丢失。 3.通过vuex取  最好办的就是通过vuex来存和取你的数据,把你的数据都存在vuex中,然后那个组件需要,直接调用vuex的getters来获取数据就行。...以上是路由传参和vuex存值、传值的时候刷新页面数据消失的解决办法。喜欢的可以关注一下。

    3.7K20

    CDN刷新目录不生效?

    案例背景: cdn侧的目录刷新分为如下两种: 选择 “刷新变更资源” 模式,当用户访问匹配目录下资源时,会回源获取资源的 Last-Modify 信息,若与当前缓存资源一致,则直接返回已缓存资源...问题描述: 目录刷新变更资源之后存在某个资源与源站资源不一致。...原因分析: 如果选择的刷新方式如果为“刷新变更资源”,cdn侧会回源获取资源的 Last-Modify 信息,这里cdn侧会拿到源站该文件的Last-Modify和节点缓存资源Last-Modify...所以可能存在提交“刷新变更资源”的时候,发现节点上缓存的是源站之前的资源(Last-Modify更新的)。建议针对于这种场景下直接使用url刷新或者刷新全部资源。...可以看到源站上资源Last-Modify为9月24号 image.png 解决方案: 针对这种源站的Last-Modify反而比节点上缓存的资源Last-Modify更旧的情况,推荐使用url刷新或者目录刷新全部资源

    7.6K91

    Vue 实现前进刷新,后退不刷新的效果

    需求一: 在一个列表页中,第一次进入的时候,请求获取数据。 点击某个列表项,跳到详情页,再从详情页后退回到列表页时,不刷新。...也就是说从其他页面进到列表页,需要刷新获取数据,从详情页返回到列表页时不要刷新。...然后在列表页的 created 函数里添加 ajax请求,这样只有第一次进入到列表页的时候才会请求数据,当从列表页跳到详情页,再从详情页回来的时候,列表页就不会刷新。 这样就可以解决问题了。...触发请求数据有两个条件: 从其他页面(除了详情页)进来列表时,需要请求数据。 从详情页返回到列表页时,如果详情页 meta 属性中的 isRefresh 为 true,也需要重新请求数据。...这时再返回到列表页,页面会重新刷新。 解决方案二 对于需求二其实还有一个更简洁的方案,那就是使用 router-view 的 key 属性。

    4.1K40
    领券