zoukankan      html  css  js  c++  java
  • 微信小程序 setData的小知识

    微信小程序 setData的相关知识

    在实际的小程序开发过程当中,经常会遇到下面的这种情况

    有一组数据swiperList

    data: {
     swiperList: [{
          id: 0,
          type: 'image',
          url: 'https://7368-shuyuabn-9gke6t6k962d48ca-1304045188.tcb.qcloud.la/image/6.JPG?sign=39d14c3902ca802c5bbdca9487c4dfc8&t=1612537023',
          yiyan: '没有无聊的人生,只有无聊的人生态度',
          form: '刘瑜',
          iflike: "false"
        }, {
          id: 1,
          type: 'image',
          url: 'https://7368-shuyuabn-9gke6t6k962d48ca-1304045188.tcb.qcloud.la/image/1.JPG?sign=6a578b89d06a74141a01b35b26684e04&t=1612536951',
          yiyan: '没有任何一种逃避能得到赞赏,喜欢就去追,饿了就吃饭,管他是失败或是发胖',
          form: '',
          iflike: "false"
        }]
    }

    此时 如果我们想要动态改变swiperList内任意一组数据中的iflike应该怎么做呢?

    首先贴一下html标签

    <block wx:for="{{swiperList}}" wx:key class="{{cardCur==index?'cur':''}}">
        <view bindtap="like" data-likeid="{{item.id}}"> //我们通过循环swiperList获取其item 将内部的id绑定到like事件上
    </block>

     js代码:

    like: function (event) {
        const that = this
        let likeid = event.currentTarget.dataset.likeid  //绑定的like事件
        var a = `swiperList[${likeid}].iflike`
        console.log(a)
        if (that.data.swiperList[likeid].iflike=== "false") {
          that.setData({
          [a] : "true",
          })
        } else if (that.data.swiperList[likeid].iflike=== "true") {
          that.setData({
            [a]: "false",
          })
        }
        
        console.log(that.data.swiperList[likeid].iflike)
      }

    在setData时swiperList[likeid].iflike的语法无法实现的

    所以在这里,首先我们定义a = `swiperList[${likeid}].iflike`,这样后面setData的时候就可以直接用[a]去替换原本需要实现的  swiperList[likeid].iflike。

    这样我们就实现了需要的功能了

     

     

  • 相关阅读:
    【iOS 实践笔记】UITableView顶部空白
    【iOS入门】dequeueReusableCellWithIdentifier:和dequeueReusableCellWithIdentifier:forIndexPath:的区别
    【iOS 入门】@class关键字
    【iOS 入门 动画学习】
    【android seekbar 增大拖动区域】
    【android 动画小技巧】一个控制顺序播放多个动画。
    【android 视频播放那些事之缓存】
    【java8 代码块新功能】
    Mac下使用gradlew命令
    Python格式符说明
  • 原文地址:https://www.cnblogs.com/mrkr/p/14394092.html
Copyright © 2011-2022 走看看