在做小程序项目时,如果是大型项目,会涉及到多人开发,这时候开发代码的重组和复用就显得重要了。考虑到项目组件的实现,使用小程序的template组件可以减少代码的复用,减少代码出错的概率。
form-action-sheet组件wxml代码
{{item.name}}
取消
在具体页面引用:
import引入template资源
调用template并传入数据
permis数据必须在data上声明:
permis: {
title: \'权限设置\',
name: \'所有人可见\',
icon:\'../../img/p.png\',
},
绑定事件actionSheetChange:
showHideActionSheet: function() {
wx.showActionSheet({
itemList: params,
success:function(res) {
success(res);
},
fail: function(res) {
fail(res);
}
})
}
这里遇到巨坑的问题是,事件不能以变量的形式传入template,即如果需要在template上绑定如bindtap事件的话,事件名不能从具体调用页面中传入变量
上面代码中要给bindchange事件传一个函数的话只能传具体函数名,不能传入变量。。。
也就是说以template实现的组件需要绑定事件
要么把事件实现放在具体调用页面中通过外围包裹一个view元素传入事件
也就是
要么就在template里面写死,这种组件在调用页面中只能用一次,不然多个组件只能共用一个事件。
综上,template实现组件形式要做到良好封装性还要等微信开放相关功能才能实现了。
参与讨论
发表评论