为了账号安全,请及时绑定邮箱和手机立即绑定

vue可复用组件的数据缓存问题

vue可复用组件的数据缓存问题

撒科打诨 2019-02-27 21:16:10
现有a和b两个组件,其中b组件下有c组件,d组件为a组件和c组件的共同组件,他的作用是解析从服务器抓取的数据,这些数据临时存储在vuex的state的一个数组中。现在我遇到的问题是:a组件下用到复用组件c渲染出页面后,然后当切换到b组件下的c组件,这个c组件使用复用组件渲染页面时,会先出现在d在a组件下的页面,然后才被新的页面取代,请问有什么方法可以解决啊,谢谢大家..
查看完整描述

2 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

用v-if控制组件的生命周期,每次都执行新的生命周期不就好了


查看完整回答
反对 回复 2019-03-01
?
Cats萌萌

TA贡献1805条经验 获得超9个赞

补充一下:v-if是每次都会将所有的if或者是else进行渲染,然后核心是利用了display:block以及none进行相应的dom进行渲染,所以,一般页面复杂或者是层级较深,不建议这样使用,更好的方式使用通过不同的路由进行请求,渲染指定的组件,但是这样可能就会出现,公共组件重复渲染的情况,所有使用keep-alive可以达到进行组件的缓存效果,当再次渲染指定的组件的时候,只需要从缓存中进行获取就可以,但是值得注意的是keep-alive中是不支持使用v-for循环的,有且只能渲染首个


查看完整回答
反对 回复 2019-03-01
  • 2 回答
  • 0 关注
  • 1758 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信