setData函数注意事项

  1. 直接修改 this.data 而不调用 this.setData 是无法改变页面的状态的,还会造成数据不一致。
  2. 单次设置的数据不能超过1024kB,请尽量避免一次设置过多的数据。
  3. 不要把 data 中任何一项的 value 设为 undefined ,否则可能遗留一些潜在问题。

问题背景:

js中有多次调接口来动态修改data数据的操作。

  • 在网上找了很多资料,这是第一个可能犯得错误。

click: function (e) {    var id = e.target.id//根据点击不同的view获取对应的id值var str = "isChecked[" + id + "]"//重点在这里,组合出一个字符串this.setData({[str]: false//用中括号把str括起来即可})
}

需要用中括号把str括起来

  • 实际上还有个隐藏很深的bug。

在onLoad里,我set了一个catitems的数组结构

      success:function(res){var cateItems = res.data.data.msgthat.setData({cateItems:cateItems,cur_class_id: cateItems[0].class_id})},

我想要的catItems是这样子的。

cateItems: [{class_id: 1,class_name: "样机",ishaveChild: true,children:[{id: 1,name: 'Seastone-RP1',image: "../../images/equipment/Desktop/seastone.jpg"},]},
]

但是在onLoad里我只设置了class_id和class_name,其他数据动态在其他函数里获取。

也就是将其他的数据设置成了undefined。

这就导致了我后续在setData操作一直未把数据传递给试图。而我在打log(this.data)时,微信的开发者工具打印出来的都是正确的cateItems的结构。害得我调试了好久。

微信小程序setData不起作用相关推荐

  1. 微信小程序————setData()方法的使用和注意事项

    微信小程序setData()使用: ##Page.prototype.setData(Object data, Function callback) setData 函数用于将数据从逻辑层发送到视图层 ...

  2. 小程序setdata优化_微信小程序 setData的使用方法详解

    微信小程序 setData的使用方法详解 微信小程序 setData的使用方法详解 最近在使用微信小程序的setData时,遇到了以下问题.如下: 官网文档在使用setData()设置数组对象的某个元 ...

  3. 微信小程序setdata方法

    微信小程序setdata方法 微信小程序中有时候需要从其他位置获取数据在前端调用 一般会用到小程序中封装好的setdata方法: /** `setData` 函数用于将数据从逻辑层发送到视图层*(异步 ...

  4. 微信小程序setData注意事项,使用方法

    1..微信小程序开发中,为了减少data和视图层数据表现不一致,全部采用setData方法修改值. setData函数注意事项 1..直接修改 this.data 而不调用 this.setData ...

  5. 微信小程序(json文件作用、WXML模板、宿主环境、通信模型、运行机制、常用组件、宿主API、协同工作和发布)

    简介 黑马程序员视频学习记录 视频链接:黑马程序员前端微信小程序开发教程,微信小程序从基础到发布全流程_企业级商城实战 文章目录 简介 ---- json文件的作用 ---- 1. app.json ...

  6. 微信小程序navigationBarTitleText不起作用

    标题关于微信小程序中navigationBarTitleText不起作用的问题 新添加了一个页面,在json 设置了 "navigationBarTitleText": " ...

  7. 微信小程序(一)_APPID_的作用

    小程序APPID到底有什么用? 答 它相当于你的小程序在微信中的 '身份证' ,有了它,微信客户端才能确定你的 '小程序' 的身份,并使用微信提供的高级接口. 那么小程序appid怎么获取? 1. 先 ...

  8. 微信小程序setData给数组赋值问题

    因为小程序中分有逻辑层和渲染层等.所以需要用setdata函数,渲染到视图界面.普通的修改属性是通过this.setData({demo:true})的方法设置,但是本人遇到一种情况,需要通过下标区改 ...

  9. 微信小程序setData()方法的使用

    官方解释: setData 函数用于将数据从逻辑层发送到视图层(异步),同时改变对应的 this.data 的值(同步). 自己通俗的理解就是给数据复制用的, 结合一个demo说下setdata的使用 ...

最新文章

  1. mysql字符串外键约束_MySQL中的约束函数主外键
  2. SSL连接并非完全问题解决
  3. 计算机二级各个科目的作用,计算机二级考试的各个科目的内容及区别.doc
  4. java项目中怎么查看用的序列_如何在Java应用程序中使用序列化分类器对...
  5. 金融贷款逾期的模型构建3——模型评估
  6. zk的数据目录:`version-2`
  7. Python Django HttpRequest请求对象常见属性和方法
  8. 第一章 Spring基础
  9. Text Storage table
  10. Spark-Streaming基础
  11. libubox组件(1)——usock
  12. POSTMAN接口测试流程
  13. TCL与京东方比拼技术创新,前者的发明专利首次居于领先地位
  14. 爱国者u盘linux驱动,爱国者u盘驱动
  15. wxpython之StaticText最全介绍(持续更新)
  16. IPinfo上架uTools插件中心
  17. 如何去除word中的空行
  18. JAVA一维数组如何初始化
  19. Xcode14 build WebDriverAgent提示“Cannot link directly with dylib/framework“的解决方法
  20. 纯CSS实现抖音3D酷炫旋转相册

热门文章

  1. 爱快 Open v服务端 全局推送路由器命令
  2. 各版本的Hadoop安装包下载
  3. lopa分析_什么是LOPA分析?
  4. Mybatis核心配置文件
  5. 三级网络技术备考重点之路由器配置及使用
  6. 我有一个梦想,希望每一位提到算法的人,不再立即紧皱眉头
  7. C# 使用SqlDataReader读取数据库数据
  8. python微信发红包看照片_微信发原图会泄露位置信息?用Python教你通过图片获取用户信息!...
  9. C#,佩尔数(Pell Number)的算法与源代码
  10. mongodb 分组获取最新一条的数据