关于微信小程序的数据传递
2018-03-12 本文已影响0人
局外人12
我们知道,数据传递主要包含三种:基本数据、数组、对象。传递的数据可能是固定的,也可能是动态的。下面就介绍一下传递的方式。
一、传递基本数据
传递一个参数:将定义好的数据通过url传递过去。
wxml上传递将传递过来的数据赋值给在data中已经定义好的变量
test页面的js接收 显示结果传递两个参数:只要在wxml和js对应添加数据,我们可以通过&来连接。
传递 接收二、数组传递
数组的传递在wxml的传递上方式和基本数据一样,主要是接收数据时多了一步,用split(",")将传送来的值分开,因为options获取到的值是字符串,需要拆分重新组装成数组。
三、对象传递
一次传送多个数据比较麻烦,我们可以将数据封装进一个对象,直接将对象传递过去,就可以一次获取到所有传递过来的数据。另外,如果我们需要传递的对象在页面上是通过遍历出来的,我们不能直接传递,因为对象在传递之前需要先转换成字符串,可以通过绑定方法,将该对象传入,在方法中转化后再传递:
传递页面wxml 传递页面js 接收页面js这里面还涉及了小程序事件传参,其实是小程序提供了一种方式,即data-xxx,其中‘data-’是标识事件触发时会带上这个参数,xxx是参数名。在对应的js响应该事件中,data-xxx中的xxx是什么,在相应的事件中获取数据时e.currentTarget.dataset.xxx或e.currentTarget.dataset.[‘xxx’]的xxx就是什么,两者一一对应。这样就完成在事件中传递参数。(注意:xxx不能有大写字母,比如isDel,否则无效。事件传参传递的是字符串,如果传递对象、数组、数字等,需要将字符串转换对应数据类型)。