微信小程序720全景图:微信小程序图集预览器
摘要: 类似于iOS下的ZImageBrowser,Android下的com.king.photo.zoom.PhotoView
托微信宿主APP的福,小程序实现的方式有点不可思议的快速简便,真机上跑了下,自带双指缩放,标题栏显示页码指示器,长按可保存、转发与收藏。
1. wx.previewImage一个方法完成80%的工作
<swiper class="images" indicator-dots="true" autoplay="true" interval="5000" duration="1000" style="height:200px;" bindtap="previewImage"> previewImage: function () { wx.previewImage({ current: '', // 当前显示图片的http链接 urls: this.data.goods.get('images') // 需要预览的图片http链接列表 }) }
2. 确定初始展示的图片为轮播点中的那张,完成剩下的20%工作
2.1 通过<swiper>的current值来确定previewImage的current值
这是需要current来确定,从swiper传到previewImage中,比较古怪的是,current是String类型,而不是Integer类型,给出一个Index下标不是很合理吗,这让人很费解。
<swiper bindtap="previewImage" current="{{current}}" bindchange="bindchange"></swiper> previewImage: function () { wx.previewImage({ //从页面data中取出current,得到String类型的url路径 current: this.data.goods.get('images')[this.data.current], urls: this.data.goods.get('images') // 需要预览的图片http链接列表 }) }, bindchange: function (e) { //左右滑动swiper存下当前所在页面的 index this.setData({ current: e.detail.current }); }
利用current来找出当前点击的图片index,这里再次发挥出了双向数据绑定的优势。
2.2 通过<swiper-item>内嵌<image>的data-current值来确定previewImage的current值
在<swiper-item>中的<image>上绑定点击事件previewImage
<image src="{{item}}" mode="aspectFill" class="swiper-image" bindtap="previewImage" data-current="{{index}}"/>previewImage: function (e) { wx.previewImage({ //从<image>的data-current取到current,得到String类型的url路径 current: this.data.goods.get('images')[parseInt(e.currentTarget.dataset.current)], urls: this.data.goods.get('images') // 需要预览的图片http链接列表 }) }
不论是通过<swiper>还是<swiper-item>确定current值,都是达到预期效果,看哪种更顺手一些。第一种更好地利用了双向绑定,而第二种因为少一个方法bindchange与this.data.current因而更加简洁。
总结:尽管整个过程比原生开发还是简单得多,但还是再次验证了二八定律,20%的工作需要80%的时间完成。
该demo源码已托管到码云:http://git.oschina.net/dotton/lendoo-wx,本文涉及代码存于/pages/goods/detail文件夹中。
对移动开发有兴趣的朋友可以关注我的公众号【huangxiujie85】与我交流讨论,给我留言或文章评论。
- 01-11方便饭盒的使用方法,带饭一族,必备装备便当饭盒的种类
- 12-08上海铁路局年底调整列车运行图:上海铁路局官方公布春运增开列车车次表
- 05-102035年河北保定地铁规划 北京设计,保定制造
- 11-08九州缥缈录苏瞬卿下线了吗?九州缥缈录苏瞬卿下线
- 03-28南岳大庙门票怎么可以优惠?南岳大庙游玩攻略门票价格
- 01-06广东铝合金系统门窗生产:广东力丝特系统铝合金门窗的性能
- 02-15鹿晗发行新专辑:鹿晗新歌兜风上线驰骋大道沐浴月色
- 03-10陈小春和应采儿演唱会互动片段:应采儿发私房照为其打call
- 03-08男朋友毕业找不到工作,毕业后没找到工作居然被男友骂废物
- 12-20和田玉的两种分类方法:最常见的几种和田玉
- 01-23七年就这样结束了是喜是忧:人过了,七七就结束了这世
- 01-05情人节男生适合和另一半聊什么?情人节礼单撩男人就是如此简单
- 01-26一本值得读的人性书:书单这12本书揭露人性的真相
- 12-02如何在两个小时画完一幅优秀素描?让人望尘莫及的线性素描
- 03-02工厂临时工能干一个月就辞职吗?年轻人千万不要在工厂上
- 02-09堪比开挂某主播单场64杀:堪比开挂某主播单场64杀
热门
推荐
- 1母爱作文600字一件事-母爱常在作文600字372
- 2电子商务学习方法以及心得体会479
- 3办公室主任年度述职报告范文222
- 4代理记账服务方案466
- 5沟通的障碍有哪些_如何克服170
- 6茶文化的知识419
- 7小学二年级语文试卷分析范文100
- 8两会热词盘点218