小程序修改data中数组或者对象里面的某一项值

本文介绍了一种在WXML中动态更新全局data的方法,通过将数据定义为字符串并在setData中使用中括号引用,实现了按钮点击时局部数据的高效更新。

核心要点:将需要修改的全局data用字符串的形式定义出来,然后在setData中用中括号包起来

 

js:

 /**
   * 页面的初始数据
   */
  data: {
  
    wage_data: [{
      created_at: "2020-05-15 16:36:01",
      has_like: true,
      id: 2,
      like_num: 1,
      post_class_name: "自我提升",
      profile: "概要",
      title: "主题",
      user_name: "test",
    },
    {
      created_at: "2020-05-15 16:36:01",
      has_like: true,
      id: 3,
      like_num: 1,
      post_class_name: "自我提升",
      profile: "概要",
      title: "主题",
      user_name: "test",
    },{
        created_at: "2020-05-15 16:36:01",
        has_like: true,
        id: 4,
        like_num: 1,
        post_class_name: "自我提升",
        profile: "概要",
        title: "主题",
        user_name: "test",
    }
    ],
  
  },

wxml:

   <block  wx:for="{{wage_data}}">
          <button bindtap="changData" data-index="{{index}}">
           </button>
   </block>

js:

​changData: function(e) {
    var index = e.target.dataset.index;
  
    var value = 'wage_data[' + index + '].has_like'+ '';
    this.setData({
      [value]: !this.data.wage_data[index].has_like
    })

​}

 

如果你感觉有收获,欢迎给我打赏 ———— 以激励我输出更多优质内容

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值