概念:
小程序开发中,事件无法与pc端开发一样(通过事件名称后面加括号的方式)传入参数,若需要给小程序的事件去传参就需要自定义属性去传参。
自定义属性:
语法:
设置属性名
data-xxx ="属性值(参数)",其中"xxx"是自己命名属性的名称,下方示例中使用的是 "test"
获取属性值
在事件处理函数中,通过
event.target.dataset.属性名
,即可获取到属性值(参数)
示例1:
静态传参写法
<view>
<button
size="default"
type="primary"
data-test="test"
onTap="doit"
>Button</button>
</view>
获取参数
page({
doit(event){
// log输出结果:test(字符串类型)
console.log(event.target.dataset.test)
},
})
示例2:
动态传参写法
<view>
<button
size="default"
type="primary"
data-test="{{test}}"
onTap="doit"
>Button</button>
</view>
获取参数
page({
data:{
test:null,
},
doit(event){
// log输出结果:null(动态传参是根据 data 中的 test 的值来决定事件传来的参数是什么)
console.log(event.target.dataset.test)
},
})