vue 封装组件供全局使用_Vue实现组件全局和局部缓存(keep-alive)

8156617d86ec14e8bf3c4d4a16790785.png

开始之前

这次使用Vue构建旅游webapp过程中,吸收和体验了keep-alive的真实作用。

相信大家只要阅读过Vue提供的官方文档就会知道,组件想要实现数据缓存就需要在App.vue中的<router-view />外层包裹<keep-alive></keep-alive>标签,就可以很容易的实现数据缓存啦,如下图所示:

427f176a43392068ba703ce2ff134481.png

没错,按照图上的操作的的确确可以实现组件数据的缓存, 但是我要告诉大家的是,这样做其实是有问题的,上面我们讲述的是全局组件的缓存,事实上在真实的开发流中可能并不需要全局的缓存,在在某些特定的场景下,还可能存在BUG,比如一个列表组件,在通往详情页的过程中需要传入列表的item.id,在详情页 接收到该id之后才能获取到相应的数据,会导致详情页只会接收到同一个id,因为请求只会发送一次,那么应该 怎么操作才能最优雅,而且不留BUG呢?

看这里,<keep-alive></keep-alive>分为两种模式: 全局缓存 / 局部组件缓存。

我们只需要在App.vue中设定一个条件,然后在路由文件的meta对象中添加一个keepAlive属性,该属性类型为Boolean值,代码如图所示:

第一步:

95a8699feae4b34532ea9c6f1726c2f5.png

第二步:

f09cccb323e93beda347fb676786d50d.png

具体的操作还需要自己去编码过程中亲自领会,加油吧骚年!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值