zoukankan      html  css  js  c++  java
  • 微信小程序 --- e.currentTarget.dataset.id 获取不到值

    直接代码

    wxml代码片段

    <view class='ranksList' wx:for="{{ranksLb}}">
          <view class='ranksListName'><image src='../image/icon-21.png'></image><text>{{item.name}}</text></view>
          <view class='ranksListNum'><label>下级:</label><text bindtap='tosubordinate' data-workerId='{{item.id}}'>{{item.subordinateNum}}-{{item.id}}</text></view>
          <view class='ranksListIphone'><image src='../image/icon-22.png'></image><text>{{item.mobile}}</text></view>
        </view> 

    js代码片段

    //事件处理函数
      tosubordinate: function (e) {
        var workerId = e.currentTarget.dataset.workerId;
        console.log("workerId------" + workerId);
        wx.navigateTo({
          url: '../subordinate/subordinate?workerId=' + workerId
        })
      },

    结果 workerId undefined。

    OK,重点便在这里。在组件中可以定义数据,这些数据将会通过事件传递给 SERVICE。 书写方式: 以data-开头,多个单词由连字符-链接,不能有大写(大写会自动转成小写)如data-element-type,最终在 event.target.dataset 中会将连字符转成驼峰elementType。 
    这里写图片描述 
    看代码可知,这里是自定义了一个名字为id的dataset,因此在事件函数中,我们可以通过e.currentTarget.dataset.id访问到绑定到该组件的自定义数据。

    修改:

    //事件处理函数
      tosubordinate: function (e) {
        var workerId = e.currentTarget.dataset.workerid;
        console.log("workerId------" + workerId);
        wx.navigateTo({
          url: '../subordinate/subordinate?workerId=' + workerId
        })
      },

    主要修改了 e.currentTarget.dataset.workerid.

    workerId –> workerid 解决。

  • 相关阅读:
    jQuery1.3.2 源码学习 2 两个重要的正则表达式
    学习 jQuery 4 使用方法选择
    学习 jQuery 6 在 TreeView 中实现全选
    jQuery1.3.2 源码学习4 init 函数分析 2
    学习 jQuery 3 选择器
    学习 jQuery 5 筛选和过滤器
    条款9:在删除选项中仔细选择
    优化3D图形流水线
    指针相减
    浅谈水体的实现
  • 原文地址:https://www.cnblogs.com/kongxc/p/8848551.html
Copyright © 2011-2022 走看看