Keep-Alive-Include von vue.js funktioniert nicht – Stapelüberlauf
PHP中文网
PHP中文网 2017-05-19 10:35:48
0
4
1681

Solange ich das keep-alive-Tag in mein Projekt schreibe, werden alle Seiten zwischengespeichert, egal was Sie exclude darin schreiben.

<keep-alive exclude="xxx,yyy">
   <router-view></router-view>
</keep-alive>

Brauchen Sie eine Lösung?

PHP中文网
PHP中文网

认证0级讲师

Antworte allen(4)
左手右手慢动作

同样发现这个问题,include也一样,没有用! 请问为什么

巴扎黑

你这是 exclude 啊

为情所困

目前似乎使用vue-router不能直接用include,exclude

只能这样写

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

参考vue-router的issue#811

过去多啦不再A梦

exclude 完全没问题,
几个注意点,

  1. vue-router 的版本必须是2.1+

  2. 设置了exclude的组件, 如果是同名组件切换, 一样会缓存, 这是因为组件复用

  3. 给组件设置name

  4. exclude设置对应组件的name

https://jsfiddle.net/lincenyi...

打开上面的例子,
点击 /params/foo 内容会由一开始的1234, 1秒后变成2345
再点击/optional-group/foo/bar
最后再点击/params/foo, 出现的结果一样是1234, 1秒后变成2345, 说明组件没被缓存

删除 代码中的 exclude="foo2"

再重复上面的3个步骤,
会发现1-2和上面一样, 但是第三个步骤时, 页面会直接出现2345, 说明组件缓存成功

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage