收藏
回答

为什么定义在data内的变量在函数内改变不了(只能读出默认值)?

我定义了一个复选框,value绑定的是js中data定义的变量allCheck,用于checkgroup的bindchange函数传到js进行判断。

js的data:

wxml:

但为什么js读取到data的变量allCheck始终是默认值,赋了值的allCheck读出来还是默认值,但是却能成功被if语句判断,难道是data的作用域问题?始终想不通,欢迎各位大牛指点一下,谢谢~

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

3 个回答

  • 茜茜又困了🐽
    茜茜又困了🐽
    2022-06-08

    给列表的checked属性赋值知道用setData,给allCheck赋值就用=了?

    2022-06-08
    有用 1
    回复 2
    • 不在言
      不在言
      发表于移动端
      2022-06-08
      啊这,这不都是赋值吗
      2022-06-08
      回复
    • 茜茜又困了🐽
      茜茜又困了🐽
      2022-06-08回复不在言
      =没办法赋值啊 而且你自己看看if语句的判断条件和allCheck字段有关系吗?
      2022-06-08
      回复
  • 不在言
    不在言
    2022-06-08

    我的疑问是this.data.allCheck=1这样子赋值为什么console.log(allcheck)无变化但实际数值是改变的?为什么打印不出来

    2022-06-08
    有用
    回复 1
    • 不在言
      不在言
      2022-06-08
      console打印的是视图层内容吗?
      2022-06-08
      回复
  • 小黎
    小黎
    2022-06-08

    that.setData({

    allCheck:1

    })

    2022-06-08
    有用
    回复 2
    • 不在言
      不在言
      2022-06-08
      我换成setData后小程序除了tabbar和标题有显示外,中间页面都空白了且没有报错
      2022-06-08
      回复
    • 不在言
      不在言
      2022-06-08
      我想请问为啥this.data改变的值console打印不出来
      2022-06-08
      回复
登录 后发表内容