微信小程序修改自定义组件的数据
修改自定义组件的数据 以及使用组件的方法,笔记记录以防忘记
组件间的基本通信方式有以下几种。
WXML 数据绑定:
用于父组件向子组件的指定属性设置数据,仅能设置 JSON 兼容数据(自基础库版本 2.0.9 开始,还可以在数据中包含函数)。具体在 组件模板和样式 章节中介绍。
事件:用于子组件向父组件传递数据,可以传递任意数据。
如果以上两种方式不足以满足需要,父组件还可以通过 this.selectComponent 方法获取子组件实例对象,这样就可以直接访问组件的任意数据和方法。
一、组件的生命周期
组件的生命周期,指的是组件自身的一些函数,这些函数在特殊的时间点或遇到一些特殊的框架事件时被自动触发。
其中,最重要的生命周期是 created attached detached ,包含一个组件实例生命流程的最主要时间点。
- 组件实例刚刚被创建好时, created 生命周期被触发。此时,组件数据 this.data 就是在 Component
构造器中定义的数据 data 。 此时还不能调用 setData 。 通常情况下,这个生命周期只应该用于给组件 this
添加一些自定义属性字段。 - 在组件完全初始化完毕、进入页面节点树后, attached 生命周期被触发。此时, this.data
已被初始化为组件的当前值。这个生命周期很有用,绝大多数初始化工作可以在这个时机进行。 - 在组件离开页面节点树后, detached 生命周期被触发。退出一个页面时,如果组件还在页面节点树中,则 detached 会被触发
总结
//html
<echartAnalysis ecList="{{ecList}}" class="echartAnalysis" title="科目排名趋势"></echartAnalysis>
//js
let child = this.selectComponent('.echartAnalysis');
child.setData({
ecList: ecList//修改自定义组件的数据
})
child.init_echarts();//使用自定义组件内的方法