如何在微信小程序开发过程中动态向数组添加对象并进行更改

小程序开发


浏览:1818 次

因为我曾经使用Vue开发和编写项目,所以我很自然地习惯了Vue的双向绑定机制,这在开发中非常方便。然而,在最近开发的小程序中,我很难将值动态地传递到数组,而且我无法以任何方式绑定它们。当然,这并不是说小程序不好,每个程序都有自己的开发理念,每个程序有自己的优点,所以我在这里写下了一些经验。一方面,让我不要忘记,另一方面,我希望遇到这个问题的孩子们不要再去这个坑!

言归正传:

现在添加到我的数据中,有一个数组

数据:{

列表:[{}],

},

然后我定义了一个方法来动态地将数据添加到列表数组

<;/视图>

添加(){

常数a={},

this.set数据({

列表:this.data.lists.push(a)

})

}

此方法可用于将对象添加到数据中的列表中。我相信你能做到。这很简单

然而,当我们想要更改列表中对象的key:value值时会发生什么?当时,我在这里呆了很长时间。我的第一个想法是将键值更改为列表[下标]。setData()函数但是在我这样写属性值之后,控制台立即报告了一个错误,因为他没有在数据中找到你的键值,这意味着我们的编写方法是错误的,但是根据原理,它是正确的,所以可以使用下面的方法来更改相应列表中的属性值

更改(e){

//我动态绑定属性数据索引=“要更改的值的下标”

常量a=`lists[${e.currenttarget.detail.index}].name`

this.set数据({

[a] :e.detail。value//要更改的值

})

}

这样,您可以更改数据数组中的任何值,但请记住,您必须将要更改的键值用括号[xx]括起来,否则也会报告错误!嗯,事实上,我觉得我说了很多不必要的话,但我会记笔记的!我希望你和你自己继续努力学习