取 dataset 值
<view data-id="{{item.id}}" bindtap="gotoDetails"> </view>
如上,如何在 gotoDetails 程序中处理 data-id 对应的值呢?
gotoDetails: function (e) { e.target.dataset.id }
e.target 确定是哪个触发的,dataset 对应 data- 开头的属性,id 是具体哪一个属性。注意:data-xxx,xxx 这里只能小写,跟 jQuery 一个毛病。
注意,如果我们有嵌套 view,则如果用户点击的是内层的 view,则 e.target 就是内层的 view(尽管我们 bindtap 是写在外层 view)中,所以我们应该为每一层都写在 data-id="{{item.id}}"。
取其他页面传过来的值
wx.navigateTo({ url: '/pages/details/details?id=123' });
如上,如何在 details 页面中,取到 id 值呢?
onLoad: function (options) { options.id }
在 onLoad(注意大小写)中,从 options 参数取。如果前一页面没有传 id 过来,这里 options.id 就是undefined。