keep alive可不可以缓存动态路由,请教一下各位朋友
1条回答 默认 最新
- 北海屿鹿 2022-12-13 10:51关注
动态路由,页面缓存 keep-alive
<template> <keep-alive :include="cachedViews"> <router-view :key="key" /> </keep-alive> </template> <script> export default { name: 'AppMain', components: { }, computed: { key() { if(JSON.stringify(this.$route.query) === '{}'){ if(!(this.endWith(this.$route.path,"/edit")||this.endWith(this.$route.path,"/view")||this.endWith(this.$route.path,"/params")||this.$route.path=='/menu')&&!this.cachedViews.includes(this.$route.name)){ this.cachedViews.push(this.$route.name) } } return this.$route.path } }, watch: { $route() { if(JSON.stringify(this.$route.query) === '{}'){ if(!(this.endWith(this.$route.path,"/edit")||this.endWith(this.$route.path,"/view")||this.endWith(this.$route.path,"/params")||this.$route.path=='/menu')&&!this.cachedViews.includes(this.$route.name)){ this.cachedViews.push(this.$route.name) } } } }, data() { return { cachedViews:[] } }, methods:{ endWith(str,endStr){ let d = str.length - endStr.length; return (d >= 0&&str.lastIndexOf(endStr) == d) } } } </script>
include就是包含的组件需要缓存,是个数组
:include=“cachedViews”
//当route结尾, 不是 edit,view等
这里注意, 需要设置 要缓存的组件的 name: “XXX”解决 无用评论 打赏 举报
悬赏问题
- ¥30 STM32 INMP441无法读取数据
- ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
- ¥15 用visualstudio2022创建vue项目后无法启动
- ¥15 x趋于0时tanx-sinx极限可以拆开算吗
- ¥500 把面具戴到人脸上,请大家贡献智慧
- ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
- ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
- ¥30 c#打开word开启修订并实时显示批注
- ¥15 如何解决ldsc的这条报错/index error
- ¥15 VS2022+WDK驱动开发环境