博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
文章点赞以及取消点赞功能
阅读量:5890 次
发布时间:2019-06-19

本文共 1372 字,大约阅读时间需要 4 分钟。

今天开发了一个文章的留言版块,于是想到要为某个留言点赞,点过赞的再次点击会取消点赞,代码如下:

/*更新点赞*/

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.message,并通过循环遍历改变某个留言的点赞数,然后直接重新赋值,就能动态改变点赞数!
---------------------
//转载

转载于:https://www.cnblogs.com/Alitar/p/10823585.html

你可能感兴趣的文章
Redis之 命令行 操作
查看>>
Jvm(46),指令集----对象创建与访问指令
查看>>
EL 表达式小结
查看>>
内部排序
查看>>
jQuery EasyUI API 中文文档 - 组合(Combo)
查看>>
10个关于 Dropbox 的另类功用(知乎问答精编)[还是转来了]
查看>>
Oracle体系结构
查看>>
用Modelsim仿真QII FFT IP核的时候出现的Error: Illegal target for defparam
查看>>
javascript Error对象详解
查看>>
nc 局域网聊天+文件传输(netcat)
查看>>
C++它 typedef void *HANDLE
查看>>
Git常用命令
查看>>
Linux下查看MySQL的安装路径
查看>>
C#获取磁盘列表与信息
查看>>
mysql学习笔记4---mysql 复制---源代码
查看>>
Linux设备驱动之semaphore机制【转】
查看>>
每天一个linux命令(25):linux文件属性详解
查看>>
【android】getDimension()、getDimensionPixelOffset()和getDimensionPixelSize()区别详解
查看>>
HDU 3280 Equal Sum Partitions(二分查找)
查看>>
第一个之出现一次的字符
查看>>