欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

微信小程序使用setData修改數(shù)組中單個對象的方法分析

 更新時間:2018年12月30日 09:23:10   作者:極樂叔  
這篇文章主要介紹了微信小程序使用setData修改數(shù)組中單個對象的方法,結(jié)合具體實例形式分析了setData進行數(shù)組修改的相關(guān)操作技巧與注意事項,需要的朋友可以參考下

本文實例講述了微信小程序使用setData修改數(shù)組中單個對象的方法。分享給大家供大家參考,具體如下:

微信小程序已經(jīng)出來挺久的時間了,之前只是在文檔上粗略的看了一下,最近稍得空閑,便利用微信小程序平臺寫一個練手的項目,順便學習一下小程序開發(fā),感覺大體跟前端開發(fā)基本類似,但是因為是在微信的平臺上運行,具體還是要根據(jù)小程序的規(guī)則來編寫代碼的,其中還是有部分的內(nèi)容跟前端中常見的有所不同,于是接下來的博客里,也會順手記錄微信小程序開發(fā)過程中的一些坑,幫助后來的小程序開發(fā)者少踩一些坑,當然我踩的坑大部分都是以前的開發(fā)者踩過的,我所做的也僅僅是記錄,分享。

習慣使用Vue或者React這類框架的開發(fā)者們,肯定不會對修改data內(nèi)中數(shù)組的單個對象而煩惱,因為這些框架已經(jīng)幫我們很好的處理了這個問題,并且在文檔上也寫的非常清楚。

比如要求是有一個數(shù)組存放了購物車的商品信息,而你在購物車內(nèi)修改了單個商品的期望購買數(shù)量后,我們就要動態(tài)的更新這個單個對象的購買數(shù)量值,如果在小程序里我們會怎么做呢?

如果你按照Vue的寫法來實現(xiàn)的話,不出意外會失敗。而微信小程序也只給我們提供了一個setData方法,這個方法是使用鍵值對的形式對數(shù)據(jù)進行修改,例如:

this.setData({
  name : 'leon'
})

回到我們剛剛的例子里,這時候,如果你想修改單個商品的數(shù)量信息,應該怎么寫?

首先展示一種錯誤的寫法:

Page({
 data: {
  array: [{text: 'init data'}],
 },
 changeItemInArray: function (index) {
 this.setData({
 'array['+index+'].text':'changed data'
 })
 }
})

如果這樣動態(tài)的寫index,很顯然,這樣是無法使用在對象的key中的,我相信小程序的新手開發(fā)者可能嘗試過這樣的寫法。

那么正確的寫法究竟是怎么樣的呢?

changeItemInArray: function (index) {
 // 提前準備好對象
 var item = this.data.list[index]
 item.count = 100
 // 依舊是根據(jù)index獲取數(shù)組中的對象
 var key = "list["+ index + "]"
 this.setData({
 // 這里使用鍵值對方式賦值
  key: item 
 }, function () {})
}

最后,希望以后的小程序版本更新中,有更好的賦值方法。希望這篇文章能幫助到小程序的新手開發(fā)者。

希望本文所述對大家微信小程序開發(fā)有所幫助。

相關(guān)文章

最新評論