微信小程序项目总结:for循环,绑定点击事件,二维数组列表渲染
2018-01-18 16:14
706 查看
一:for循环,绑定点击事件分享者:niedongdong,原文地址最近公司有小程序的项目,本人有幸参与其中,一个项目做下来感觉受益匪浅,与大家做下分享,欢迎沟通交流互相学习。先说一下此次项目本人体会较深的几个关键点:微信地图、用户静默授权、用户弹窗授权、微信充值等等。言归正传,今天分享我遇到的关于wx:for循环绑定数据的一个tips:想必大家的都知道wx:for,如下就不用我啰嗦了: <view class="myNew" wx:for="{{list}}">{{item.title}}<view>{{item.content}}</view></view> (item即为数组list的每一个子元素) 但是,如果循环体内绑定一个点击事件,点击时如何把子元素的内容传进来呢? 如下: list:[ { "id" : 01 , "title" : "第一个标题", "content":"第一个内容"}, { "id" : 02 , "title" : "第二个标题", "content":"第二个内容"}, { "id" : 03 , "title" : "第三个标题", "content":"第三个内容"} ] 上面的例子变成如下: <view class="myNew" wx:for="{{list}}">{{item.title}}<view bindtap="readDetail" 10628 >{{item.content}}</view></view> 需要触发readDetail事件时,取到对应的id调接口查看详情。可是小程序又不允许事件名后直接注入id参数。其实,小程序早就想到这一点了,提供了一个 data-any (any任意类型) 方法,此处有借鉴H5中 data- 任意属性的妙处。(小程序给出了示例: data-index,大家可以自行研究。)可以写成如下: <view class="myNew" wx:for="{{list}}">{{item.title}}<view bindtap="readDetail" data-id="{{item.id}}">{{item.content}}</view></view> js文件: readArticle:function(e){ var $id = e.currentTarget.dataset.id; //打印可以看到,此处已获取到了对应的id }) 同理:也可以写成如下: <view class="myNew" wx:for="{{list}}">{{item.title}}<view bindtap="readDetail" data-id="{{item.id}}" data-title="{{item.title}}" data-content="{{item.content}}">{{item.content}}</view></view> js中: readArticle:function(e){ var $data = e.currentTarget.dataset; //打印可以看到,此处已获取到了包含id、title、和content的对象 wx.navigateTo({ url: '../myNewsInfo/myNewsInfo?id'+$data.id+"&title="+$data.title+"&content="+$data.content //传参跳转即可 }) }) 二:一些开发小程序时,遇到的问题分享者:Mr.方,原文地址1、JS不能操作css,那么怎么动态添加css呢?答:通过操作item?的true或false,来加入class 例如:2、微信的尺寸rpx?答:以设计稿750px为准,在设计稿上量出多少,就是多少,微信会自动给你适配3、微信小程序api里没有modal?事实上,其实有modal的组件,而且很好用。链接http://www.cnblogs.com/liululin/p/6001437.html4、小程序中的scroll-view组件不能和textarea一起用,自己写的类似scroll-view组件(overflow-y:auto)也不能一起使用,使用的话,textarea的提示文字和光标会飘,根本无法使用。另外textarea,也不能display:none,最好的方法是用条件判断去控制它wx:if="{{show}}" 三:二维数组列表渲染Page({ mapData:[ [{id:11},{id:12}], [{id:21},{id:22}], [{id:31},{id:32},{id:33}] ] }) <view class="container"> <view class="map"> <view wx:for="{{mapData}}"> <view wx:for="{{item}}"> {{item.id}} </view> </view> </view> </view> |
相关文章推荐
- 微信小程序项目总结:for循环,绑定点击事件,二维数组列表渲染 ...
- 微信小程序WXML 数据绑定、列表渲染、条件渲染、模板、事件、引用用法
- 微信小程序 数据绑定/条件判断/列表渲染/shift()有坑
- 微信小程序项目总结之点赞 删除列表 分享功能
- 【微信小程序】二维数组列表渲染
- 微信小程序之绑定点击事件
- 微信小程序学习之路 在html中绑定点击事件
- 微信小程序循环列表添加默认事件,默认样式,点击后修改样式
- 微信小程序之绑定点击事件实例详解
- 微信小程序 循环列表添加点击事件和样式
- 微信小程序-----绑定点击事件
- 微信小程序开发(6)---列表渲染
- 微信小程序 js动态给前台元素绑定事件
- 工作总结 页面通过ajax 动态绑定 列表页面 列表每一项的事件 事件触发多次
- 微信小程序开发-点击事件,获取元素id,页面传值 & 获取js里的数据
- 微信小程序-视图列表渲染
- 微信小程序入门教程 - 列表渲染多层嵌套循环及wx:key的使用
- 微信小程序 列表渲染 wx:for
- 微信小程序实现点击图片旋转180度并且弹出下拉列表
- 微信小程序开发2-点击列表中的某一行跳转到新的页面显示该列的详细信息