因为缓存创建后会存在vue的内存中。而动态修改keepAlive变量并不会销毁以及重新创建,因为keep-alive会将组件保存在内存中,而缓存的组件还是一开始创建在内存中的那个,并不因为变量而改变。 而在缓存周期中activated()钩子函数,只会更新数据,不会跟新页面。 方案二:(ok) 思路:使用<keep-alive>中的...
vue中设置动态缓存keep-alive 首先看项目需求,如果是需要全部组件缓存,每次进去只刷新数据,只需要把路由meta的keepAlive设为true即可。 而在缓存周期中activated()钩子函数,只会更新数据,不会刷新页面。 但是很多项目的需求并不是这样,是想要动态设置组件是否缓存,换句话说,需要缓存组件的时候缓存,不需要的时候去掉缓存...
缓存的页面刷新缓存的操作 1activated(){//keepAlive组件激活才会触发的钩子,用于重新获取数据进而保存更新的缓存 2this.againGetData =this.$route.query.activated;3if(this.againGetData ===true){20//获取详情的请求21this.getDetailHttp()22};23this.$route.query.activated =false //初始化路由的参数 24},...
keep-alive 根据 "路由名称" 缓存,对应页面组件的 name 属性必须和 include 数组中一样 场景:ABC三个页面,A-B,B不需要缓存,B-C,B需要缓存 App.vue <template><template><!-- 需要缓存的路由 --><keep-alive:include="cacheViews"><router-view:key="$route.fullPath"></router-view></keep-alive></...
1activated(){//keepAlive组件激活才会触发的钩子,用于重新获取数据进而保存更新的缓存 2this.againGetData =this.$route.query.activated;3if(this.againGetData ===true){20//获取详情的请求21this.getDetailHttp()22};23this.$route.query.activated =false //初始化路由的参数 ...
vue中设置动态缓存keep-alive 首先看项目需求,如果是需要全部组件缓存,每次进去只刷新数据,只需要把路由meta的keepAlive设为true即可。 而在缓存周期中activated()钩子函数,只会更新数据,不会刷新页面。 但是很多项目的需求并不是这样,是想要动态设置组件是否缓存,换句话说,需要缓存组件的时候缓存,不需要的时候去掉缓存...
1activated(){//keepAlive组件激活才会触发的钩子,用于重新获取数据进而保存更新的缓存 2this.againGetData =this.$route.query.activated;3if(this.againGetData ===true){20//获取详情的请求21this.getDetailHttp()22};23this.$route.query.activated =false //初始化路由的参数 ...