微信小程序中修改data中属性值
最近在学习微信小程序开发,由于前段时间学习了vue框架,所以学起来也不是很吃力。vue框架和微信小程序非常相似,但是vue的经验却导致自己今天踩了一天的坑。vue中设置属性值时只需要直接赋值就可以了,类比之下,也在微信小程序中试了下,别说,还真的行,打印输出都没有问题。但是,接下来就掉坑了,页面并没有根据我更改的值进行刷新。一开始,我以为是框架的机制的原因,上网查阅资料...
·
最近在学习微信小程序开发,由于前段时间学习了vue框架,所以学起来也不是很吃力。
vue框架和微信小程序非常相似,但是vue的经验却导致自己今天踩了一天的坑。
vue中设置属性值时只需要直接赋值就可以了,
类比之下,也在微信小程序中试了下,
别说,还真的行,打印输出都没有问题。
但是,接下来就掉坑了,页面并没有根据我更改的值进行刷新。
一开始,我以为是框架的机制的原因,上网查阅资料后才知道了setData函数。
setData函数,微信小程序内部的修改参数的函数,使用格式如下:
data: {
option:false
},
change:function(){
this.setData({
option:!this.data.option
})
console.log(this.data.option);
},
但是这种方法在修改数组或者对象的单个属性时就暴露出问题:
除非将所有的属性都写上,否则会覆盖掉没有写的值。
那么换个思路只修改单个值,
用
array.name:wangyi,
或者是
array[name]:wanger
的形式是否可以呢?
答案是不行了,这样写编译器会报错。
不过我们可以换一种形式,将对象或者数组的属性转变为字符串就可以了。
change:function(){
let temp = "array.name";
this.setData({
[temp]:'wangyi'
})
console.log(this.data.array);
},
更多推荐
已为社区贡献3条内容
所有评论(0)