1: data-id
我们可以给HTML元素添加自定义的data-*属性
example:
 
假设页面里有下面的元素存在:
<div id="myDiv" data-name="myDiv" data-id="myId"
       data-my-custom-key="This is the value"></div>
 
不久之前我向大家展示了非常有用的classList API,它是一种HTML5里提供的原生的对页面元素的CSS类进行增、删改的接口,完全可以替代jQuery里的那些CSS类操作方法。而另外一个非常有用的API就是 element.dataset API,从火狐6和Chrome8起就开始对它有了支持。这个简单的API能够让用户get或setHTML页面元素上的data-*属性。下面我们来看看它是如何使用的!
想必大家都知道,我们可以给HTML元素添加自定义的data-*属性。你可以给这个属性起任何名字,但在使用element.dataset API时你需要主要以下一些规则:
  • element.dataset不能够直接拿来用,否者你会遇到报错提示
  • 用JavaScript里使用data-*属性名时,要把名称转变成驼峰式命名(Camel-Case)
  • 名称不能以xml打头
  • 名称里不能有大写字母
假设页面里有下面的元素存在:
<div id="myDiv" data-name="myDiv" data-id="myId"
data-my-custom-key="This is the value"></div>
要想获取这个data-id属性,你的代码应该写成这样:
// Get the element
var element = document.getElementById("myDiv"); // Get the id
var id = element.dataset.id;
要想获取data-my-custom-key属性值,你的代码应该写成这样:
// Retrieves "data-my-custom-key"
var customKey = element.dataset.myCustomKey;
给自定义属性赋值的方法是这样的:
// Sets the value to something else
element.dataset.myCustomKey = "Some other value"; // Element would be:
// <div id="myDiv" data-name="myDiv" data-id="myId"
// data-my-custom-key="Some other value"></div>
如果一个自定义属性并不存在,但在程序中你给它赋值,它会自动创建:
// Set new data- attribute
element.dataset.mootoolsFtw = "true"; // Element would be:
// <div id="myDiv" data-name="myDiv" data-id="myId"
//data-my-custom-key="Some other value" data-mootools-ftw="true">
//</div>
 
也许你会认为data-*属性里可以存放对象,但事实上不行,dataset不会初始化这些对象。我不清楚dataset对长度的限制,但在里面存放大量的数据必定会是DOM变得臃肿不堪,很难调试。喜欢使用jQuery的朋友应该知道jQuery里也有相应的$.data()方法,没错,HTML5里的这个原生的dataset就是来替代它的,
 
使用方法:
 
一
1: 设置data-id
 <view class="block" bindtap="playTap" data-id="{{song.id}}">
2: 传值
 playTap:function(e) {
        const dataset = e.currentTarget.dataset;
        wx.navigateTo({
          url: '../play/index?id='+ dataset.id
        })
        console.log(dataset.id);
    }
3: 取值
 onLoad:function (param) {
    //页面初始化
        this.setData({
            currentId:param.id
        })
}
二 
 
设置id的方法标识来传值
1:设置 
<view bindtap=“playTap" id="{{song.id}}">
2:取值
通过e.currentTarget.id;获取设置的id值,并通过设置全局对象的方式来传递数值,
三 :
<navigator url="../movie/movie?id={{item.id}}" wx:for="{{movies}}">
onLoad (params){
        app.fetch(API.detail + params.id,(err,data) => {
            console.log(data);
            this.setData({
                title:data.title,
                movie:data,
                loading:false
            });
        })
    }, 
 
go_incollection : function (){
        wx.navigateTo({
          url: '../generalInfo/generalInfo?id=' + this.data.customId + '&name=' + this.data.choseName 
        })
    }
const conf = {
    data:{
    },
    onLoad:function (e) {
        console.log(e.id);
        console.log(e.name);
    }
};
Page(conf);
 
 
 

wx 参数传值的更多相关文章

  1. struts(二) ---中参数传值

    struts中参数传值的方式有 种: 第一种:直接通过属性来传值 第二种: 第三种:

  2. delphi数组作为参数传值

    在函数中如果数组的个数不定,可以使用开放数组参数 实参可以接受静态数组和动态数组 procedure p1(a:array of Byte); begin ShowMessage( IntToHex( ...

  3. Get和Post的参数传值

    1. get是从服务器上获取数据,post是向服务器传送数据. 2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到.post是通过 ...

  4. C# asp.net页面通过URL参数传值中文乱码问题解决办法

    1.编码string state=Server.UrlEncode(stateName.Text.Trim());Response.Redirect("aaa.aspx?state=&quo ...

  5. html的URL参数传值问题

    在URL中的参数传值时,例如:www.nihao.com?id=001 ,= 两边不能有空格,不然PHP在通过$_GET['id']获取时会出现传值为空.

  6. C++ 参数传值 与 传引用

    参数传值 在 C++ 中,函数参数的传递有两种方式:传值和传引用.在函数的形参不是引用的情况下,参数传递方式是传值的.传引用的方式要求函数的形参是引用.“传值”是指,函数的形参是实参的一个拷贝,在函数 ...

  7. C# oracle to_date 日期型 参数传值

    C#操作oracle,date字段,使用参数传值 例子一,获取三小时前的记录 public static DataTable Query() {     const string sSql = &qu ...

  8. delphi 函数参数传递 默认参数(传值)、var(传址)、out(输出)、const(常数)四类

    参数可以分为: 默认参数(传值).var(传址).out(输出).const(常数)四类 {默认参数是传值, 不会被改变} function MyF1(x: Integer): Integer; be ...

  9. 面试-默认参数(传值)、var(传址)、out(输出)、const(常数)

    相关资料:1.http://blog.csdn.net/rznice/article/details/69600112.http://www.cnblogs.com/echomyecho/archiv ...

随机推荐

  1. 模型压缩,模型减枝,tf.nn.zero_fraction,统计0的比例,等。

    我们刚接到一个项目时,一开始并不是如何设计模型,而是去先跑一个现有的模型,看在项目需求在现有模型下面效果怎么样.当现有模型效果不错需要深入挖掘时,仅仅时跑现有模型是不够的,比如,如果你要在嵌入式里面去 ...

  2. 【原创】qlogic网卡软中断不均衡问题分析

    引子 使用qlogic QL45000网卡测试业务性能,发现cpu软中断分布不均衡,而且很有规律,导致cpu空闲也不是很均衡, 会影响业务稳定性. 设备使用3张网卡Qlogic网卡,配置为4*25G模 ...

  3. Django框架的探索

    django框架的路由 django2 路由支持正则匹配,如: re_path(r'^category/(?P<category_id>\d+)/$',CourseCategoryView ...

  4. Educational Codeforces Round 30 D. Merge Sort

    题意:给你n和k,n代表有多少个数,k代表几次操作,求一个1到n的序列,要k次mergesort操作才能还原 Examples Input 3 3 Output 2 1 3 Input 4 1 Out ...

  5. Java基础第一天(标识符、变量)

    一.标识符 Java对各种变量.类.方法命名时的字符序列. 凡自己可以起名字的地方都叫标识符. 标识符特点: 1.26个英文字母大小写,0~9,$,_ 组成. 2.数字不可以做开头. 3.不可以使用关 ...

  6. pythond的icmp广播报获取局域网主机IP

    icmp广播报获取局域网四川特产IP from scapy.all import *import randomimport threading def scan(sip,dip): pkt = Eth ...

  7. idea激活方式

    idea破解方法:转自https://note.youdao.com/ynoteshare1/index.html?id=d0f3fb42bfa1bb65a33115a1b6140f5f&ty ...

  8. 【c】多级指针

    一.一级指针 1.int *p,*p2; p是变量名,*表明是指针,指针指向地址. 在定义时初始化,如int *p_2 = &b; //定义一个指针,指针指向一个地址 先定义再初始化,如int ...

  9. easyUI添加修改tab页(toolbar)

    代码: <div id="editdialos" class="easyui-dialog" title="虚机配置修改" data- ...

  10. 12条MySQL优化技巧

    应用程序慢,原因多多,可能是网络的原因.可能是系统架构的原因,还有可能是数据库的原因. 有人会说性能调优是数据库管理员(DBA)的事,然而性能调优跟程序员们也有莫大的关系. 程序中嵌入的一行行的SQL ...