收藏
回答

如何读取 properties 作为 data 的初始值?

问题模块
教程反馈

我想以传入的 properties 作为 data 的初始值


Component({
  properties: {
    a: {
      type: Number,
      value: 11
    }
  },
  data: {
    b: this.data.a - 1,
  }
});


这样写会报错

TypeError: Cannot read property 'data' of undefined


最后一次编辑于  02-13  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

3 个回答

  • 叫我狗蛋爸爸🐶 คิดถึง
    叫我狗蛋爸爸🐶 คิดถึง
    02-13
    properties: {
        a: {
          type: Number,

          value: 11,

          observer: (val) => {
              this.setData({
                   b: val-1
              })
          }
        }
     }


    02-13
    赞同
    回复 2
    • 李小凯:9090
      李小凯:9090
      02-13

      这样 a 每次变化都是 setData 吧?能否只有一次

      02-13
      回复
    • 叫我狗蛋爸爸🐶 คิดถึง
      叫我狗蛋爸爸🐶 คิดถึง
      02-21回复李小凯:9090

      那你校验一下不就好了吗?如果改变过那就不set了


      02-21
      回复
  • 吴奕群
    吴奕群
    02-13

    这个写法错的,不能直接写表达式

    02-13
    赞同
    回复 2
    • 李小凯:9090
      李小凯:9090
      02-13

      有什么骚操作吗?

      02-13
      回复
    • 吴奕群
      吴奕群
      02-13回复李小凯:9090

      在组件的attached事件去做这件事呗

      02-13
      回复
  • 杨泉
    杨泉
    02-14

    在attached里面处理

    02-14
    赞同
    回复