收藏
回答

自定义组件 properties里的数据 在attached时显示为null

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug 自定义组件 Comonents 工具 6.6.6 2.2.5

- 当前 Bug 的表现(可附上截图)



- 预期表现

这是通过数据绑定获取的数据,如果希望在attached时做一些setdata的操作 怎样才能取到它的值呢?

- 复现路径


- 提供一个最简复现 Demo


回答关注问题邀请回答
收藏

3 个回答

  • 奔跑
    奔跑
    2020-10-11
    • 在组件完全初始化完毕、进入页面节点树后, attached 生命周期被触发。此时, this.data 已被初始化为组件的当前值。这个生命周期很有用,绝大多数初始化工作可以在这个时机进行。

    我怀疑你是请求数据还没成功的时候就去渲染了自定义的组件,因为你数据还没请求到,你的自定义组件已经渲染了一次,请求成功之后再setState,此时你的自定义组件已经被初始化了,attached已经不会再走了,你在父组件再怎么set,都不会走这个函数了,所以你拿到的是空。

    写代码的基础逻辑好好考虑考虑 弟弟。

    2020-10-11
    有用 1
    回复
  • 可乐鱼
    可乐鱼
    2020-10-22

    attached(){

    // 出处调用不显示

    }

    ready(){

    // 出处调用显示

    }



    2020-10-22
    有用
    回复
  • 卢霄霄
    卢霄霄
    2018-09-18

    方便做个代码片段吗?另外我其实组件经常用 observer来确保 properties有值的。。

    2018-09-18
    有用
    回复 3
    • 2018-09-18

      数据是调用该组件的主组件通过api获取,然后传递进来的,代码片段写不了吧?但是在本地模拟数据,通过相同的方式传递到子组件时不会发生这种情况

      2018-09-18
      回复
    • 2018-09-18

      尝试了一下observer,成功了,谢谢


      2018-09-18
      回复
    • 卢霄霄
      卢霄霄
      2018-09-18回复

      不谢,记得在 observer里 this.setData给自己赋值要小心哦。。

      2018-09-18
      回复
登录 后发表内容