收藏
回答

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

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


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


这样写会报错

TypeError: Cannot read property 'data' of undefined


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

3 个回答

  • 杨泉
    杨泉
    2019-02-14

    在attached里面处理

    2019-02-14
    赞同
    回复
  • 吴奕群
    吴奕群
    2019-02-13

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

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

      有什么骚操作吗?

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

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

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

          value: 11,

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


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

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

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

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


      2019-02-21
      回复
    • Adam2020
      Adam2020
      2019-11-13
      感觉property 的默认 value 不会触发observer
      2019-11-13
      回复
登录 后发表内容