600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 微信小程序setData 赋值对象属性

微信小程序setData 赋值对象属性

时间:2023-04-01 13:58:19

相关推荐

微信小程序setData 赋值对象属性

这几天在做页面的时候,关于setData方法产生了一点疑问,现在来总结一下。

首先说一下赋值对象属性的两种方法

1.修改data下的对象

this.setData({'params.name':'李四'})

2.修改data下的对象数组

this.setData({'example[1].text':"清零"})

如果要给对象数组中某一个对象的某个属性赋值,可以采用以下两种方式:

var temp1 = 'example['+order+'].state'var temp2 = `example[${order}].text`

然后通过[temp1]:'runnning'这样的方式来进行赋值

下面是代码示例

wxml

<view class="container1"><viwe>{{params.name}}</viwe><button type="primary" bindtap="changetext1"> 点击我改变文字</button></view><view class="container2"><view class="container-content" wx:for="{{example}}"><view>{{item.state}}</view><view>{{item.text}}</view><button type="primary" bindtap="changetext2" data-index="{{index}}"> 点击我改变文字</button></view></view>

js

data: {params: {name: '张三',age: '18',gender: 1},example: [{id: '1',state:"paused",text:"第一个"},{id: '2',state:"running",text:"第二个"}]},changetext1:function(){console.log(1)this.setData({'params.name':'李四'})},changetext2:function(e){var order = e.target.dataset.indexconsole.log(e.target.dataset.index)var temp1 = 'example['+order+'].state'var temp2 = `example[${order}].text`this.setData({[temp1]:'down',[temp2]:'清零'})},

效果图

original:

after bindtap:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。