小程序开发swiper不显示元素
问题描述:
swiper中嵌套多个swiper-item,数量是动态循环生成的。
目前存在的问题是:在页面首次加载时元素正常显示,当切换页面进行操作时,会改变轮播数据,当再次返回页面时,轮播图的元素不显示,但是审查元素是存在的。
存在原因:
- 当改变轮播图当前指针,即current属性值时,若该属性没有绑定任何数据,框架会自动绑定当前操作的值
- 页面发生切换时,current的值会被存储,也就是记住当前轮播的index。再次返回会重新赋上当前存储的值
- 也就是说假设滑动到第三屏时,current=2,切换页面改变数据,如果数据只有两条,那么再次返回页面,swiper会查找第三屏的元素,没有找到就会导致元素为空,但是其他屏的数据是存在的,所以页面会显示位置,但是没有元素。
- 这种情况应该是在轮播图不是自动轮播的情况下出现的。
解决办法:
- 为当前轮播图绑定current属性
-
页面切换返回时,为current重新赋值,current=0;
<swiper current="{{current}}"></swiper> onShow: function(){ this.setData({ current:0 }) }
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。