收藏
回答

wx:for循环出来的自定义组件,当数组数量改变时,新循环出来的组件的data不会重新初始化

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx:for和自定义组件 工具 7.0.18 7.0.18.1740

具体如图


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

3 个回答

  • 星光刀锋
    星光刀锋
    2021-03-05

    data中不要有函数,需要初始化在lifetimes生命周期函数中执行setData

    2021-03-05
    有用 1
    回复 1
    • 光与风的颂
      光与风的颂
      2021-03-08
      请问为啥data中不能调用函数呢?wx.getStorageSync不是同步的函数吗?我试过登陆以后再刷新页面,userInfo:wx.getStorageSync就能正常赋值了
      2021-03-08
      回复
  • 跨商通
    跨商通
    2021-03-05

    是的。

    改成在onLoad里this.setData吧。

    2021-03-05
    有用
    回复 2
    • 光与风的颂
      光与风的颂
      2021-03-08
      请问为啥data中不能调用函数呢?wx.getStorageSync不是同步的函数吗?我试过登陆以后再刷新页面,userInfo:wx.getStorageSync就能正常赋值了
      2021-03-08
      回复
    • 跨商通
      跨商通
      2021-03-08回复光与风的颂
      原理不知道,懒得去研究,无关紧要的知识。反正不会这么用,一律在onLoad里赋值,能用就行。
      2021-03-08
      回复
  • 昌
    2021-03-05

    问题出在wx.getStorageSync()上,比如:

    this.setData{userInfo: wx.getStorageSync('userInfo')||{}})
    console.log(this.data.userInfo)
    

    是没有内容的,需要先取值,如下

    var userInfo = wx.getStorageSync('userInfo')||{}
    this.setData{userInfo: userInfo})
    console.log(this.data.userInfo)
    



    2021-03-05
    有用
    回复 1
    • 光与风的颂
      光与风的颂
      2021-03-08
      请问为啥data中不能调用函数呢?wx.getStorageSync不是同步的函数吗?我试过登陆以后再刷新页面,userInfo:wx.getStorageSync就能正常赋值了
      2021-03-08
      回复
登录 后发表内容
问题标签