weixin_41542494 2018-02-01 09:45 采纳率: 80%
浏览 785
已采纳

小程序 點贊疑問 現在搞不懂啊

我現在因為便利頁面 已經便利了diggtop 也就是點贊字段
介於小程序是 無刷新 用戶點擊後 不+1 看起來很怪 我把他分成兩個接口
第一個是請求便利 第二個是事件發生後 再次發起請求 問題來了
我第一次便利 在頁面上使用wx:for 下面東西都便利了
但是我第二次發請求 我就不知道該怎麼便利了 另外 點贊後 旁邊圖標 會變色
我用用三元 結果全部變色 我id也設置了 但是就是全部一起變色...
上代碼 希望大神給點指示
這是第一次發請求
wx.request({
url: api + "&snum=" + snum + "&cnum=" + cnum,
header: {
'content-type': 'json'
},
success: function (res) {
console.log(res.data)
snum = snum + cnum
FastArray = FastArray.concat(res.data.data)
dayArray = dayArray.concat(res.data.day)
htimeArray = htimeArray.concat(res.data.htime)
digArray = digArray.concat(res.data.diggtop)
that.setData({
Fast: FastArray,
day:dayArray,
htime: htimeArray,
diggtop:digArray
})
}
})
第二次發請求
ilike:function(e){
var id = e.currentXXXX.id <==這邊忘了 這裡是獲取id下標
wx.request({
url:apidiggtop,
data:{
id:id
},
header:{
'content-type':'json'
},
success:function(res){
這邊可以獲取 最新的diggtop值 但是不知道便利在哪
}
})
}

這是wxml

图片说明

  • 写回答

1条回答 默认 最新

  • springlustre 2018-02-01 10:42
    关注

    你可以在处理函数中通过e.currentTarget.dataset的方法获取到分享过的item的id,var index = e.currentTarget.dataset.id;
    然后在digArray 中找到第index个项将其+1,
    即t = digArray[index], digArray[index] = t+1. 然后重新setData({diggtop:digArray })即可。建议多学习一下数组等基本数据结构。
    还有一点,我觉得你可以使用js的对象和数组相结合会好一点,比如
    [{1:{Fast: 1,
    day:1,
    htime: 1,
    diggtop:1}
    },{2:{Fast: 2,
    day:2,
    htime: 2,
    diggtop:2}
    }
    ]
    这样。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料