Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
434 views
in Technique[技术] by (71.8m points)

vue keepAlive因为路由不在一个js文件导致的无效

image.png
因为导航栏目多,每个大栏目下面有很多小栏目,所以router文件夹就建了很多子文件存放路由
image.png
image.png
现在需求只需要一个页面是keepAlive的,就上图设置keepAlive的true和false就可以了

<keep-alive>
      <router-view v-if="$route.meta.keepAlive"></router-view>
</keep-alive>
<router-view v-if="!$route.meta.keepAlive"></router-view>

但是因为是多个js文件的缘故,这个keepAlive只生效在同一个js下的路由中,跨js文件的话,那keepAlive就会失效.
想问一下是想要keepAlive生效的话一定要是在同一个js文件下嘛?不同文件可以有什么方法嘛?真的度娘到崩溃了...


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

这跟几个js文件有什么关系,你router分再多的文件最终还不是引到index.js通过new VueRouter实例化以后暴露出来?
我看你截图中的路由就没有一个meta.keepAlivetrue的,这些肯定都不会被缓存的


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...