当前位置: 首页 > news >正文

建网站可以铺货wordpress大学模板

建网站可以铺货,wordpress大学模板,铜川建设网站,网站开发注意问题文章目录 keep-alive多级页面缓存实现只适用于页面是否缓存状态不变的情况对于上面的问题提供一种解决方案 keep-alive多级页面缓存实现 只适用于页面是否缓存状态不变的情况 网上有一种很普遍的教程#xff0c;不使用keep-alive的include属性#xff0c;而是通过在路由表中… 文章目录 keep-alive多级页面缓存实现只适用于页面是否缓存状态不变的情况对于上面的问题提供一种解决方案 keep-alive多级页面缓存实现 只适用于页面是否缓存状态不变的情况 网上有一种很普遍的教程不使用keep-alive的include属性而是通过在路由表中添加meta: { keepAlive: true}通过v-if判断是否使用keep-alive keep-aliverouter-view v-if$route.meta.keepAlive/router-view /keep-alive router-view v-if!$route.meta.keepAlive/router-view这种写法只适用于页面是否缓存的状态不变的情况 现实中遇到的场景是有三个页面总览页、列表页、详情页三个页面逐级跳转总览页 - 列表页 - 详情页。因为列表页是分页懒加载的用户希望可以从详情页返回时可以直接定位到之前的位置 因此要实现的实际上为页面缓存记录滚动条位置这里先看页面缓存 网上很多教程的写法是在列表页使用beforeRouteLeave动态设置keepAlive的值 // 列表页 beforeRouteLeave(to, from, next) {if (to.name 详情页) {from.meta.keepAlive true; } else {from.meta.keepAlive false;this.$destroy();}next(); },乍一看没什么问题到详情页的时候将keepAlive设为true进行缓存返回到总览页的时候设置为false取消缓存但仔细想一下这样写是晚一步的是否缓存在刚进入页面时就定下来了在beforeRouteLeave的时候修改keepAlive相当于修改的是下次进入页面时是否缓存 实际流程会变为 理想状态下 总览页 此时列表页路由的keepAlive默认为true 点击进入列表页 列表页 点击进入详情页 此时会缓存列表页keepAlive仍为true 详情页 返回列表页 获取缓存 这部分流程没有问题接下来 列表页 返回总览页 列表页被销毁keepAlive变为false 总览页 点击进入列表页 列表页keepAlive为false 这次列表页将不会被缓存此时已经出现问题那我们是不是可以不设置from.meta.keepAlive false;只在返回时销毁keep-alive的缓存此时又出现了一个新的问题在使用this.$destroy();销毁组件后会导致缓存异常回退时不使用缓存的列表页而是创建了个新的并且会一直缓存。详情可以百度this.$destroy()导致keep-alive缓存异常 Referencevue-router时 keep-alive 页面缓存问题解决 - 知乎 调用$destroy后组件生命周期出现异常。 · Issue #6961 · vuejs/vue · GitHub 所以要实现类似功能就使用include和exclude很多帖子纯纯的坑 对于上面的问题提供一种解决方案 还是对需要缓存的路由添加meta: { keepAlive: true} 维护一个页面栈将访问过的页面添加进去如果当前进入的页面在之前访问过代表是回退操作则将页面栈中在本页面之后的数据删除使用include记得要给组件添加name templatediv idappkeep-alive :includecachePageListrouter-view/router-view/keep-alive/div /template scriptexport default {data(){return {pageRouteList: [] // 访问过的页面栈}},computed: {cachePageList(){// 缓存只取页面栈中router设置了keepAlive的return this.pageRouteList.filter(route route.meta.keepAlive).map(route route.name)}},watch: {$route(to, from) {const index this.pageRouteList.findIndex(route route.fullPath to.fullPath)const isVisited index ! -1if (!isVisited) {this.pageRouteList.push(to)} else {this.pageRouteList.splice(index 1)}}}} /script
http://www.yayakq.cn/news/3456/

相关文章:

  • 上海专业网站建设服响应式布局实现
  • 提供龙岗网站建设新网站怎么做seo
  • 网站开发需要会什么python网页游戏开发
  • 做设计找图有哪些网站用什么搭建个人网站
  • 淘客手机版网站怎么做网站运营是做什么的
  • 建网站权威公司物流网站给做软件
  • 网站开发商城酒类网站该怎么做
  • 网站平台建设成本网络有哪些广告推广方式
  • 视频网站怎么做外链网络舆情应对措施
  • 网站实时推送怎么做wordpress 后台登录慢
  • 500亿网站建设wordpress 买主题
  • 长清网站建设电话海南城乡建设庁网站
  • 国外网站做acm题目比较好陕西响应式网站建设公司
  • 有没有专门找装修公司的网站中国搜索提交网站
  • 广东恒力建设工程有限公司网站互联网产品推广案例范文
  • 网站后台程序开发wordpress语言插件qx
  • 合肥网站建设设计公司江苏国泰做的网站案例
  • 改行做网站怎样用8uftp做网站
  • 如何编程制作自己的网站一个小胖子从网站做任务的网站故事
  • 大潮建设集团有限公司 网站北京网页设计公司兴田德润怎么样
  • 云南热搜科技做网站不给源码dz论坛seo
  • 承德优化网站建设wordpress能生成静态文件下载
  • 国内阿里巴巴网站怎么做西宁做网站君博先进
  • 做网站UI说不会写文案wordpress 删除修订版本
  • 企业营销型网站建设荆门做网站公司
  • 自建站模板网站行业
  • 自己的网站怎么做seo阿里云上的网站空间好用吗
  • 专业的家居行业网站模板网站建设百度小程序
  • 做网站guangxiyandawordpress英文企业模板下载地址
  • 网站设计与建设实践五大搜索引擎 三大门户网站