小程序开发踩坑 component的生命周期函数created中setData无效

/ 0评 / 0

踩坑原因

在小程序中data不可以直接调用函数,因此有些复杂数据可能会放在生命周期函数内,而我误使用了created。

由于涉及到复杂数据赋值,导致研究问题的重点都放在复杂数据上了,被绕了好久......

解决

将setData操作放到其他生命周期内即可,如果是初始化阶段赋值,应使用attached。

解释

setData 函数用于将数据从逻辑层发送到视图层(异步),同时改变对应的 this.data 的值(同步)。


created 组件实例化,但节点树还未导入,因此这时不能用setData

attached 节点树完成,可以用setData渲染节点,但无法操作节点

ready(不是onReady) 组件布局完成,这时可以获取节点信息,也可以操作节点

moved 组件实例被移动到树的另一个位置

detached 组件实例从节点树中移除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注