收藏
回答

this.data的中的数据获取不到?

  properties: {
    colors: {
      type: Object,
      value: {}
      // {black: xxxxx.png,red:xxx.jpg}
    },
    counts: {
      type:Object,
      value:{}
      // {black: {m: 99, s: 88, xxl: 55},red: {m: 99, s: 88, xxl: 55},white: {m: 99, s: 88, xxl: 55}}
    }
  },
  lifetimes:{
    created:function(){
      console.log('this.data:',this.data);//可以正常打印数据
      console.log('this.data.colors:',this.data.colors);//打印是个{}对象
      console.log(Object.keys(this.data));
      
    },
  },

头一回遇到这种情况,不知道哪里出了问题


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

2 个回答

  • Admin²⁰²¹
    Admin²⁰²¹
    2020-02-22

    异步问题:

    2020-02-22
    有用 1
    回复 4
    • 爸爸打我
      爸爸打我
      2020-02-22
      是2没有数值,1,3,4都有数值,问题是this.data能看到数据,但是this.data.colors,这个this.data获取某一项怎么就获取不到呢?
      2020-02-22
      回复
    • Admin²⁰²¹
      Admin²⁰²¹
      2020-02-22回复爸爸打我
      你弄错了,1,2,3都是没数值value的。
      1的下拉之前值都会空的,只有key没有value,3也是一样,因为3只log出来key,并没有log值。当然有
      1那里你手动点三角形,这个时候是重新获取1的值变成4了,所以显示有数据了,异步了。但是你log的时候是没有值的,只有key
      2020-02-22
      1
      回复
    • Admin²⁰²¹
      Admin²⁰²¹
      2020-02-22
      简单来说你log的时候其实都是没有value只有key的。当你点那个三角形显示具体值的时候,这个时候开发者工具会重新读取this.data值,所以是有value了,这没毛病,就是这么个逻辑的
      2020-02-22
      2
      回复
    • 爸爸打我
      爸爸打我
      2020-02-22
      牛逼
      2020-02-22
      1
      回复
  • 金煜峰
    金煜峰
    2020-02-22

    在 attached 周期中获取

    2020-02-22
    有用
    回复 4
    • 爸爸打我
      爸爸打我
      2020-02-22
      attached中也是获取不到数据
      2020-02-22
      回复
    • 爸爸打我
      爸爸打我
      2020-02-22
      2020-02-22
      回复
    • 金煜峰
      金煜峰
      2020-02-22回复爸爸打我
      你这个值不是组件创建的时候就传入了吧?
      2020-02-22
      回复
    • 爸爸打我
      爸爸打我
      2020-02-22回复金煜峰
      我找到问题了,楼下的说的对,大意了,大概情况是这样的,组件数据是需要从后台获取的,而刚开始没有添加if判断,在page中直接渲染组件了,而这个时候数据是空的,但是后台数据获取很快,所以出现了获取不到的问题,添加了一个if判断就好了,大概类似这种情况:https://developers.weixin.qq.com/s/nii94kmO72fg
      2020-02-22
      回复
登录 后发表内容
问题标签