模板中可以将函数传进去用作事件处理,但是这里和传数据不一样的是:函数传递时形参名和实参名必须一致。
下面的模板定义中,接受一个tapHandler的事件处理函数,和一个content的数据:
my-template.wxml
那么在引用该模板时,如果使用下面的方式,则只能传入content,而事件处理函数传入失效:
// index.wxml
// index.js
Page({
data: {
myContent: '123'
},handleTap () {
console.log('handling tap')
}
})
如果需要事件处理函数传入成功,需要在Page中定义的函数名handleTap
更名为与模板中定义的名字相同tapHandler
才行:
// index.wxml
小程序模板事件函数传递