微信小程序传值取值的几种方法总结列表索引下标值页面传值表单表单值一、列表索引下标值实现方法为:data-index="{{index}}"挖坑e.currentTarget.dataset.index填坑1.1生成值删除添加data-index="{{index}}"自定义属性和绑定点击事件bindtap="delete"delete实现删除方法delete:function(e){varindex=parseInt(e.currentTarget.dataset.index);console.log("index"+index);}注意:如果你使用e.target而不是e.currentTarget会怎么样呢?它会导致索引值仅在点击时输出,点击子元素或时输出NaN。目标有什么用?它用于区分子元素和外部元素。比如在更换用户头像的场景中,点击头像本身可以预览大图,点击头像所在的整行就是切换头像。###1.2以地址列表为例,从索引数据中查找对应元素deleteaddress//查找当前地址AVObject对象varaddress=that.data.addressObjects[index];//给出确认提示框wx.showModal({title:'Confirm',content:'是否要删除该地址?',success:function(res){if(res.confirm){//实际删除objectaddress.destroy().then(function(success){//提示删除成功wx.showToast({title:'删除成功',icon:'success',duration:2000});//重新加载数据that.loadData();},function(error){});}}})2.页面传值将接收地址列表页面的地址id传给编辑页面,读取原地址进行修改。地址/列表页面实现如下代码editedit:function(e){varthat=this;//获取下标arindex=parseInt(e.currentTarget.dataset.index);//获取id值varobjectId=this.data.addressObjects[index].get('objectId');wx.navigateTo({url:'../add/add?objectId='+objectId});地址/添加页面实现onLoad(options)方法,从url路径获取objectIdonLoad:function(options){varobjectId=options.objectId}3.Form表单值3.1方法一,与结合使用,布局如下提交jsvalueformSubmit:function(e){//详细信息vardetail=e.detail.value.detail;//实名varrealname=e.detail.value.realname;//手机varmobile=e.detail.value.mobile;}3.2方法二:通过Confirm方法实现对应的multiple**detailConfirm:function(e){vardetail=e.detail.value;}realnameConfirm:function(e){varrealname=e.detail.value;}mobileConfirm:function(e){varmobile=e.detail.价值;}通过方法一和方法二的对比可以看出,虽然也可以达到取值的目的,但是它们的使用场景是不一样的。前者适合提交大量的表单项,比如用户填写个人信息时,收货填写地址;后者适用于只有一种或两种形式的物品,如填写快递单号、装订说明书如果你需要类似ajax的即时响应,应该选择后者,因为输入可以使用来即时获取值。比如你在产品搜索框中输入手机关键词,iPhone7、Mate8等应该会出现候选词这样的场景。原文链接