小程序组件
小程序组件
组件的生命周期
[
](https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/lifetimes.html)
- attached 生命周期最常使用。进入页面节点树后调用。 this.data 已被初始化为组件的当前值。这个生命周期很有用,可以对 this.data 进行操作拉。绝大多数初始化工作可以在这个时机进行。
应用生命周期
app.js 中
1 |
|
页面生命周期
pages 中的各个页面的 js
1 |
|
自定义组件
(类似 vue 的自定义组件)
1.页面.js 文件中,存放事件回调函数的时候,存放在 data 同层级下
2.组件.js 文件中,存放事件回调函数的时候,必须必须存放在 **methods****中**
组件通信
父传子
.父组件向子组件传递数据,通过 标签属性的方式来传递
在子组件上进行接收
把这个数据当成是 data 中的数据直接用即可
properties 中每个属性还可以给他绑定 个观察者 ( observer** **),
- 只要该属性发送变化,就会调用该函数。
- 函数接收两个参数,第一个参数为新的值,第二个参数为旧的值。
子传父
子向父传递数据 通过事件的方式传递,其实类似 vue
–子组件中,触发某事件后,发送自定义事件:
1 |
|
**–父组件中,在调用的子组件上 **
1 |
|
–然后 fatherFun(e) 方法中 通过:
e.detail.参数名, 可获取子组件传递过来的参数。
selectComponent
- 可在父组件实例中 通过 this.selectComponent(‘子组件 id’) 调用到子组件的方法或属性
- 在 onload 钩子中可能有问题。推荐放到 onshow 或者更后面的周期里
Slot
<slot></slot>
标签 其实就是一个占位符 插槽
等到 父组件调用 子组件的时候 再传递 标签过来 最终 这些被传递的标签 就会替换 slot 插槽的位置
数据监听器 (observers)
>> 在组件当中 在 observers 对象中有注册的属性。 一旦被 setData 更新。 即调用 该属性的 observers 方法
例子: 当 data 中的 numberA 和 numberB 被 setData 后。 立马执行 numberA 和 numberB 的 observers 方法。使该两个属性相加。并更新到 data 的 sum 属性上。
1 |
|
**例子: **特别地,仅使用通配符 ** (双星号) 可以监听全部 setData 。
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!