123456789101112131415161718192021222324252627282930313233343536373839404142 |
- <template>
- <div class="main">
- <keep-alive :include="includedComponents">
- <router-view v-if="keepAlive" />
- </keep-alive>
- <router-view v-if="!keepAlive" />
- </div>
- </template>
- <script>
- import Vue from 'vue'
- import { CACHE_INCLUDED_ROUTES } from "@/store/mutation-types"
- export default {
- name: "RouteView",
- computed: {
- //update-begin--Author:scott Date:20201015 for:路由缓存问题,关闭了tab页时再打开就不刷新 #842
- includedComponents() {
- const includedRouters = Vue.ls.get(CACHE_INCLUDED_ROUTES)
- console.log("includedRouters:" + includedRouters)
- //如果是缓存路由,则加入到 cache_included_routes
- if (this.$route.meta.keepAlive && this.$route.meta.componentName) {
- let cacheRouterArray = Vue.ls.get(CACHE_INCLUDED_ROUTES) || []
- if(!cacheRouterArray.includes(this.$route.meta.componentName)){
- cacheRouterArray.push(this.$route.meta.componentName)
- // cacheRouterArray.push("OnlCgformHeadList")
- console.log("Vue ls set componentName :" + this.$route.meta.componentName)
- Vue.ls.set(CACHE_INCLUDED_ROUTES, cacheRouterArray)
- console.log("Vue ls includedRouterArrays :" + Vue.ls.get(CACHE_INCLUDED_ROUTES))
- return cacheRouterArray;
- }
- }
- return includedRouters;
- },
- //update-end--Author:scott Date:20201015 for:路由缓存问题,关闭了tab页时再打开就不刷新 #842
- keepAlive () {
- return this.$route.meta.keepAlive
- }
- },
- }
- </script>
|