关于vue keep-alive配合swiper的问题
2024-10-20 11:26:29
问题描述,首页优化使用keep-alive之后,从别的页面跳回来,swiper轮播不播放,查了好久资料,有的说要重新调用swiper的init方法进行初始化,等等,最终都没能解决问题,最终通过查看文档得知keep-alive缓存组件的是created钩子会创建一个cache对象,用来作为缓存容器,保存vnode节点。destroyed钩子则在组件被销毁的时候清除cache缓存中的所有组件实例。
由此猜想,从其他页面跳回来时,显示的页面可能只是vnode节点,还有渲染出html标签就执行了new了swiper实例,导致swiper的实例无法挂在到实际的html元素上,所以出现轮播无法播放的问题。
解决方法:
keep-aive组件支持两个钩子,activated钩子在keep-alive组件中代替了created钩子每次初始化时调用activated,deactivated为销毁时的钩子,所以可以申明一个状态,让keep-alive组件渲染成html元素后再实例化swiper,就可以解决这个bug。
开始上截图!!
html代码:
js代码:
此方法只是解决了个人需求,记录下来主要是为了提升记忆,如果可以帮助到别人最好,如果帮助不到,请勿喷!!!
最新文章
- Sql Server系列:Update语句
- linux系统下yum 安装mysql的方法
- Keep-Alive 总结
- JVM内存模型和关键参数设置
- MVC4 WEBAPI(一)使用概述
- JVM复习笔记
- mac机器下远程仓库添加完毕之后,却无法上传应有的内容。
- HDU 3157 Crazy Circuits(有源汇上下界最小流)
- Java并发——Fork/Join框架
- PHP高级特性基础
- android新建项目
- flutter 容器
- java将错误信息写入文件
- zabbix添加nginx监控
- jquery中live is not a function的问题
- selenium+python自动化笔记之一
- SSH服务知识
- Unittest + python
- 两台openwrt 间的免登陆ssh
- java study文件读写
热门文章
- rpm环境安装dpkg包管理工具
- 关于 python 的内存机制
- eclipse 无法将节点解析到句柄
- MySQL DATE_SUB查询工龄大于35的员工信息
- 记一次 .NET 某工控MES程序 崩溃分析
- 基于.NetCore开发博客项目 StarBlog - (23) 文章列表接口分页、过滤、搜索、排序
- JUC源码学习笔记7——FutureTask源码解析,人生亦如是,run起来才有结果
- day06-Vue03
- python进阶之路9文件的处理方法
- [cocos2d-x]从源码角度思考convertToWorldSpace()与convertToWorldSpaceAR()坐标系的转换