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. python中logging模块

    1. 日志的等级 DEBUG.INFO.NOTICE.WARNING.ERROR.CRITICAL.ALERT.EMERGENCY 级别 何时使用 DEBUG 详细信息,典型地调试问题时会感兴趣. 详 ...

  2. nodejs设置跨域访问

    //设置跨域访问app.all('*', function(req, res, next) { res.header("Access-Control-Allow-Origin", ...

  3. 解题(ConflictPhoneNumber--冲突的电话号码)

    题目描述 移动推出的校内网短号和亲情网短号非常方便,但在某款新手机里却出现了尴尬的bug.例如,当通讯录中包含如下号码时:1.小王:6002.小李:4676543.小张:600010输入600时,手机 ...

  4. Mysql优化策略

    总的来说:1.数据库设计和表创建时就要考虑性能 2.sql的编写需要注意优化 3.分区.分表.分库 设计表的时候: 1.字段避免null值出现,null值很难查询优化且占用额外的索引空间,推荐默认数字 ...

  5. linux命令总结----转载

    1.终端是个奇妙的东西,一开始它的低颜值,高难度可能会令我们灰心气馁. 但是入门之后,你会发现终端命令行是如此强大,简直飞一般的感觉.就是这个feel,倍儿爽~ 享受“弹指间,一切尽在掌握”的感觉. ...

  6. 【Spring学习】Spring的源码解析之路

    缘起:=====>>>> 在项目中实际上是用到了Spring的内容,只是直接用的SpringBoot,不管是Eclipse中还是在Intellig IDEA中,应该都比较容易能 ...

  7. Hillstone设备管理-恢复出厂设置

    1.CLI命令行操作 unset all: 根据提示选择是否保存当前配置y/n: 选择是否重启y/n: 系统重启后即恢复到出厂设置. 2.webUI操作 “系统”—“配置”,点击“清除”按钮,系统会提 ...

  8. 【LeetCode刷题系列 - 002题】Add Two Numbers

    题目: You are given two non-empty linked lists representing two non-negative integers. The digits are ...

  9. 作业四:个人项目-小学四则运算之JAVA版

    作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2186 代码所在的github远程仓库的地址:https://git ...

  10. 21-matlab 迷宫题

    dfs: 注意matlab里面的全局变量的使用 test.m: clc; clear; global A ii dx dy vis minpath path A=... [1 1 1 1 1 1 1 ...