最近這段時間在寫微信小程序,有一個頁面需要動態修改 data 中的數據,而這裏似乎是個坑。
1、正常修改
正常修改很簡單,當觸發 change 事件時,數據和頁面都會同時發生改變。這個也不用多說,很簡單的例子。
2、如何修改對象中某個屬性值
當你想把下面代碼中 human 中的 height 的值改成 178 時,直接用 this.setData ({human.height: 178}) 會報錯。
human: {
name: ' 張三 ',
height: 170
}
這個時候可以先用字符串拼接屬性名,然後用 [] 包裹起來,這裏畫上,待會可能要考。
var height = 'human.height';
this.setData({
[height]: 178
})
3、如何動態修改數組中某個值
動態修改 list [index].height 的值,和上面的例子差不多。
list: [
{
height: 170
},{
height: 175
},{
height: 178
}
]
先用字符串拼接,然後再更改,其中 index 是動態獲取的數字。
var height = 'list[' + index + '].height';
this.setData({
[height]: 178
})
4、 那個...
其實好像挺簡單,果然還是我太菜,菜是原罪...
首發公衆號「我是玖柒後」,在路上,一起成長!