本文说明了使用setData通过使用Wechat applet修改数组中的单个对象的方法。分享供您参考,如下:
微信
小程序已经出了相当长的时间,之前只是粗略看一下文档,最近有点闲置,易于使用的微信applet平台编写动手项目,顺便说一下,学习小程序的开发,感觉基本上类似于前端开发,但因为它是在微信平台上运行,所以编写几代小程序的具体规则。代码,其中一些不同于前端内容,所以下一篇博客,也会在微信applet的开发过程中记录一些坑,帮助后来的小程序开发人员踩到更少的坑,当然,大多数的坑我被践踏的被前开发者践踏,我所做的只是记录和分享。
习惯于Vue或React等框架的开发人员肯定不会在数据中修改数组的各个对象,因为这些框架已经帮助我们很好地处理了这个问题并且清楚地记录了下来。
例如,要求是存在用于存储购物车的商品信息的阵列,并且在修改购物车中单个商品的预期购买数量之后,我们需要更新该单个对象的购买数量值。动态。我们在小型项目中会做些什么?
如果您遵循Vue脚本,您将意外失败。Wechat applet只为我们提供了一个setData方法,它以键值对的形式修改数据,例如:
this.setData({
name : 'leon'
})
回到上一个例子,如果你想修改单个项目的数量信息,你应该怎么说?
首先,展示一种错误的写作方式:
Page({
data: {
array: [{text: 'init data'}],
},
changeItemInArray: function (index) {
this.setData({
'array['+index+'].text':'changed data'
})
}
})
如果您动态编写索引,很明显它不能在对象的键中使用。我相信小程序的新手开发者可能已经尝试过这种方式。
那么写它的正确方法是什么?
changeItemInArray: function (index) {
// Prepare the object in advance
var item = this.data.list[index]
item.count = 100
// Still, the object in the array is retrieved from index
var key = "list["+ index + "]"
this.setData({
// Here, key pair assignment is used
key: item
}, function () {})
}
最后,希望在applet的未来版本更新中有更好的分配方法。我希望这篇文章可以帮助小程序的新手开发人员。
我希望这篇文章对微信小程序的开发有所帮助。