微信小程序语法问题

1、data中定义的变量值,如果定义的是对象,在赋值对象中的具体某个属性值时,需要用单引号''括起来,如:'rgb.r'

data: {
    rgb:{
      r:0,
      g:0,
      b:0
    },
    fullColor:'0,0,0'
  }

如上代码中data定义了对象rgb和字符串变量fullColor,当使用bindtap来setData时,对象中的某个变量需要用单引号来括起来,非对象中的变量set值时直接使用即可。



changeR(){
      this.setData({
        'rgb.r':this.data.rgb.r+5 > 255?0:this.data.rgb.r+5
      })
      console.log(this.data.rgb)
    }

observers:{
      'rgb.r,rgb.g,rgb.b':function(r,g,b){
        this.setData({
          fullColor:`${r},${g},${b}`
        })
      }
  }

2、注意上述代码中,是定义自定义组件时的监听器方式,其中"字符串模板"使用的是ES6中的模板字符串是使用反引号 (``) 来代替传统字符串中的双引号和单引号。这里特别需要注意。

另外,需要注意observers语法

observers:{
    'x,x,x':function(obj){
  }
}

你可能感兴趣的:(微信小程序语法问题)