其实我自己也是半路出家,从没系统的学过小程序,文档更是没仔细读。遇到问题就查,看文档,看demo,完完全全一个新手。这两天用到组件,需要传递事件的时候看文档也没看明白。不过最后跌跌撞撞算是完成了。在这里记录下,分享给新手,大神请绕道,喷子且轻喷。
创建组件
在根目录下,创建一个components目录,用来放所有组件。
components目录下创建一个目录,这个就是你要新建的组件。
接着右键-> 新建Component,四个文件就直接给你创建好了
wxml 和 wxss 就不说了跟Page一样去写。
一般情况下我们都是要在自己的主页或者哪个Page下使用这个组件,有时候需要出发一些事件监听,看了很多Demo都没整明白,这里我试着尽量描述清楚,有不足的地方还请指正!
在 使用组件的页面 的 json 中,我们需要声明这个组件
然后在 使用组件的页面 的 wxml 中 使用这个组件
事件监听
组件部分
首先组件的wxml中要有一个bind监听,这里点击就会出发setText函数
然后组件的 js 中的setText函数要有this.triggerEvent()
这里组件的就差不多了。现在我们去别的页面调用
调用页面部分
首先你得使用这个组件吧,上面讲过了怎么创建和使用。
在wxml使用组件标签的时候,bind: + this.triggerEvent()传的字符串 + =“调用页面 js 中的函数”
然后你就可以在调用也的 js 的函数中去操作了
简单说就是四步
- 组件的wxml :绑定一个事件函数A
- 组件的 js :在事件函数A中 -> 写 this.triggerEvent(‘触发名B’)
- 调用页的wxml : 在组件标签上 -> bind: 触发名B=“调用页的事件函数C”
- 调用页的 js :事件函数C -> 爱干嘛干嘛
当然实际中可能不止这么简单,需要组件的数据在调用也中操作,这就要多加两个参数,可以看这里,这里就不赘述了。
我的理解是:组件跟调用页的关系大概就是组件的js提供数据,调用页的 js 操作数据。
感谢分享 加油
能帮到你就好