小程序系列课程之6事件绑定获取元素ID,页面传值,获取数据

根据在页面需要实现不同的跳转和不同的页面传值,梳理了以下情况

情况一:在小程序的开发过程中会用到动态传参,比如根据某一个页面传参不同,加载不同的新的页面(一般会用到wx:for循环显示数组,实现的功能是点击不同的元素进入不同的页面,比如在另一个页面加载某个元素的详细信息。)




情况一(解决方案):

1、跳转方式:采用navigator跳转,在navigator跳转的链接上将参数加上去:


<!--itemName是内容 key为索引-->
< block wx:for= "{{requestData}}" wx:for-item= "itemName" wx:for-index= "index">
< navigator url= "/pages/detail/detail?id={{index}}" >
</ navigator >
</ block >

 通过点击时,传入的index到详细页面detail

2、从传入的index,到新的页面js中(接收index.wxml传递的参数并处理)

detail.js

Page({ 
   onLoad: function (options) { 
   console.log(options.id) 
   var init = myData.searchmtdata(options.id) 
   this.setData({ 
      data_MTId: init.MTId, 
     data_status: init.status, 
     data_duration: init.Duration, 
     data_Operator: init.Operator, 
     data_IdleReason: init.IdleReason 
 }) 
 } 
}) 

searchmtdata这个方法在之前的博客中已经有说明,就是根据id的值来查询,返回一个list中具体的对象,即某个item的详细信息。
onLoad:function这个函数在页面加载时就会执行一次,options就是接收的从index.wxml传递过来的参数。根据id查询到具体的list对象后再进行赋值,此时data_**中的数据就是某个item的详细信息了。
3、查询得到数据之后,在前端做显示(detail.wxml)





1、小程序里的点击事件

< text id= '{{index}}' bindtap= 'bindItemTap'> click me </ text >

绑定事件bindItemTap id为{{index}}。由于这是单个的绑定,这里不容易出错。

重点: 对于列表渲染之后的情况,需要注意id写的地方,通过console 能够看到具体的数据。

< view class= 'teamright' >
< view class= "flex-item nametxt" >
< text id= '{{index}}' bindtap= 'bindItemTap'> {{index}} {{itemName.teamName}} </ text >
</ view >
< view class= "flex-item jianjietxt " id= '{{index}}' bindtap='bindItemTap'>
< text >{{itemName.shanchang}} </ text >
</ view >
</ view >
注:上下两个text 在这里的区别,
上面是对text进行了id 和事件绑定,在事件event中能够console到数据
下面是对view进行了id和事件绑定,在事件event中不能够console到数据id

   2、点击事件到对应的js中

bindItemTap: function (e) {
//获取当前item的下标id,通过currentTarget.id
var index = e.currentTarget.id;
//var index=e.target.id
console.log(index);
console.log(e);
//用来实现跳转,并把传递数据
wx.navigateTo({
url: '../teamdetail/teamdetail'+index})
}

注:在获取具体的内容时,可以通过console中看到数据,然后考虑currentTarget、target

来获取数据(currentTarget和target的区别)

3、







  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值