글 좋아요 및 취소 기능

3708 단어
오늘 글의 게시판을 개발했습니다. 그래서 어떤 댓글에 좋아요를 눌러야 한다고 생각했습니다. 좋아요를 눌렀던 사람이 다시 클릭하면 좋아요를 취소합니다. 코드는 다음과 같습니다.
/*업데이트 좋아요*/
update_zan:function(e){ 
  var that = this; 
  var data = e.currentTarget.dataset; 
  var mid = data.mid; 
  var cookie_mid = wx.getStorageSync('zan') || [];//       mid 
  var isadd = 1; 
  var newmessage = []; 
  if (cookie_mid.includes(mid)){//       ,    
    isadd = 0; 
    var m = 0; 
    for (var j in cookie_mid){ 
    if(cookie_mid[j] != mid){ 
      newmessage[m] = cookie_mid[j]; 
      m++ 
    } 
  } 
  wx.setStorageSync('zan', newmessage);//      mid 
  }else{ 
    cookie_mid.unshift(mid); 
    wx.setStorageSync('zan', cookie_mid);//    mid 
  } 
  wx.request({ 
  url: app.globalData.api.api_system, 
  data: { 
  action: 'zannum', 
  mid: mid, 
  isadd: isadd, 
  wxid: app.globalData.wxid 
  }, 
  method: 'GET', 
  // header: {}, 
  success: function (res) { 
  var message = that.data.message; 
  for (var i in message) { 
  if(message[i].mid == mid){ 
    if(isadd){ 
      message[i].zan = parseInt(message[i].zan) + 1 
    }else{ 
      message[i].zan = parseInt(message[i].zan) - 1 
    } 

  } 
} 
that.setData({ 
  message: message 
 }) 
} 
})

 
코드 주의: (1) 이미 좋아요를 눌렀던 메시지 id를 로컬 캐시에 저장해야 한다. 이렇게 하면 다시 좋아요를 눌렀을 때 판단할 수 있고 좋아요를 취소한다. 좋아요를 취소하는 동시에 캐시에 있는 id를 제거해야 한다.(2) 추가 좋아요와 취소 좋아요는 같은api에 사용되며, isadd=1 또는 isadd=0을 통해 추가 또는 취소를 판단한다. (3) 댓글 목록을 자주 읽지 않기 위해this를 직접 호출할 수 있다.data.메시지, 그리고 어떤 댓글의 좋아요를 반복해서 바꾼 다음에 바로 다시 값을 부여하면 좋아요를 동적으로 바꿉니다! ---------------------------//옮겨 싣다
전재 대상:https://www.cnblogs.com/Alitar/p/10823585.html

좋은 웹페이지 즐겨찾기