踩坑原因
在小程序中data不可以直接调用函数,因此有些复杂数据可能会放在生命周期函数内,而我误使用了created。
由于涉及到复杂数据赋值,导致研究问题的重点都放在复杂数据上了,被绕了好久......
解决
将setData操作放到其他生命周期内即可,如果是初始化阶段赋值,应使用attached。
解释
setData
函数用于将数据从逻辑层发送到视图层(异步),同时改变对应的 this.data
的值(同步)。
created 组件实例化,但节点树还未导入,因此这时不能用setData
attached 节点树完成,可以用setData渲染节点,但无法操作节点
ready(不是onReady) 组件布局完成,这时可以获取节点信息,也可以操作节点
moved 组件实例被移动到树的另一个位置
detached 组件实例从节点树中移除