【微信小程序】文章点赞功能的实现

news2024/9/24 13:17:08

在这里插入图片描述

🏆今日学习目标:第二十期——文章点赞功能的实现
✨个人主页:颜颜yan_的个人主页
⏰预计时间:15分钟
🎉专栏系列:我的第一个微信小程序


文章目录

  • 前言
  • 效果图
  • 实现步骤
  • 总结


前言

哈喽大家好,本期是微信小程序专栏第二十期。本期主要内容是文章点赞功能的实现。
每期内容是连载呢,建议大家可以看看往期内容,更好理解噢~


效果图

在这里插入图片描述
在这里插入图片描述

实现步骤

点赞功能的思路和上期收藏的思路是一样的噢~

首先在接口中添加处理点赞操作的方法。调用updataPostData方法,定义一个情况为“up”,赋值给变量data,并进行返回。

 // 点赞功能
    up(){
        var data = this.updatePostData('up');
        return data;
    }

在updataPostData方法中添加当case为’up’的情况,并对upStatus进行判断,如果当前状态是未点赞,则当点击时,upStatus的状态变为true,同时数量增加;否则upStatus的状态变为false,同时数量减少。

在这里插入图片描述

// 更新本地的点赞、评论信息、收藏、阅读量
    updatePostData(category){
        var itemData = this.getPostItemById(),
        postData = itemData.data,
        allPostData = this.getAllPostData();
        switch(category){
            case 'collect':
                // 处理收藏,如果当前状态是未收藏,则增加数量,否则减少数量。
                if(!postData.collectionStatus){
                    // 当前状态是未收藏
                    postData.collectionNum++;
                    postData.collectionStatus = true;
                }else{
                    // 当前状态是收藏
                    postData.collectionNum--;
                    postData.collectionStatus = false; 
                }
                break;
                // 处理点赞功能
            case 'up':
                if(!postData.upStatus){
                    postData.upNum++;
                    postData.upStatus = true;
                }else{
                    postData.upNum--;
                    postData.upStatus = false;
                }
                break;
            default:
                break;
        }
        // 更新缓存数据库
        allPostData[itemData.index] = postData;
        this.execSetStorageSync(allPostData);
        return postData;
    }

在页面中使用条件渲染进行判断。并在组件中添加响应用户点赞的方法。

在这里插入图片描述

添加响应用户点赞的方法,当用户点击点赞按钮后 ,该方法将调用接口中的up方法并将返回的最新数据使用this.setData更新。

 // 点赞功能事件
    onUpTap:function(event){
        var newData = this.dbPost.up();
        this.setData({
            'post.upStatus':newData.upStatus,
            'post.upNum':newData.upNum
        })
    }

总结

以上就是今天的学习内容啦~
如果有兴趣的话可以订阅专栏,持续更新呢~
咱们下期再见~
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/176340.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity简单几行代码让玩家水平移动更丝滑真实

可以先来看看基础的移动代码,接收玩家的输入,然后赋予刚体速度。 但是这种写法存在几个问题,下面一一纠正。 首先,如果直接改变刚体的速度,那么可能会出现穿墙的问题。 而且没有一种从速度0到缓慢加速的过程&#xff…

自定义Filter后,我的业务代码怎么被执行了多次?

若要求构建的过滤器针对全局路径有效,且无任何特殊需求(主要针对 Servlet 3.0 的一些异步特性),则完全可直接使用 Filter 接口(或继承 Spring 对 Filter 接口的包装类 OncePerRequestFilter),并…

分享130个ASP源码,总有一款适合您

ASP源码 分享130个ASP源码,总有一款适合您 下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下..., 130个ASP源码下载链接:https://pan.baidu.com/s/13ZxaHPHdgorjGV1wWvx1WQ?pwd7z4p 提取码&#x…

07_FreeRTOS任务调度器的挂起和恢复

任务调度器的挂起和恢复 挂起任务调度器,调用此函数不需要关闭中断 使用格式示例: 1.与临界区不一样的是,挂起任务调度器,未关闭中断; 2.它仅仅是防止;饿任务之间的资源争夺,中断照样可以直接响应; 3.挂起调度器的方式,适合于临界区位于任务与任务之间;既不用去延…

MySQL 8.0.31 集合操作INTERSECT和EXCEPT

对于聚合的功能MySQL是都是默默的发展。在最新的8.0.31版本中提供对集合操作INTERSECT和EXCEPT。这样一来,集合操作功能基本圆满了。MySQL5.7.40版本是不支持这个集合的。 In this release MySQL adds support for the SQL standard INTERSECT and EXCEPT table op…

Linux常用命令——ssh命令

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) ssh openssh套件中的客户端连接工具 补充说明 ssh命令是openssh套件中的客户端连接工具,可以给予ssh加密协议实现安全的远程登录服务器。 语法 ssh(选项)(参数)选项 -1:强制使用ssh协…

基于FPGA的时间数字转换(TDC)设计(四)

1. 基于IODELAY的TDC设计原理 在第一篇中讲过,基于FPGA开发的TDC常见的有直接计数法,多相位时钟采样法,抽头延迟线法等等。前面3篇讲解了基于多相位的TDC,接下来主要讲解基于抽头延迟线的方法。在Xilinx FPGA开发中,要实现抽头延迟线,主要由进位链(Carry4)和IODELAY模块…

寒假题练——day(6)

题目1: 有一种兔子,从出生后第3个月起每个月都生一只兔子, 小兔子长到第三个月后每个月又生一只兔子。 例子:假设一只兔子第3个月出生,那么它第5个月开始会每个月生一只兔子。 一月的时候有一只兔子,假如兔…

检索方案优化

文章目录 1. Flab框架概览2. Flab框架各个层在基金检索的具体应用2.1. 前置检查Check层2.2. 多路召回Recall层2.3. 结果集过滤2.3.1. 问财和我们召回结果的交集2.4. 排序Rank2.5. 缓存Cache2.6. 封装Assmeble1. Flab框架概览 Fly like a bird 寓意灵活 2. Flab框架各个层在基金…

2023年大年初一 —— 牛客网刷题经验分享~

2023年大年初一 —— 牛客网刷题经验分享~😎大年初一 —— 牛客网刷题经验分享~😎)前言🙌BC94 反向输出一个四位数 😊BC95 小乐乐与进制转换 😊BC96 [NOIP2015]金币😊BC97 回文对称数 😊总结撒花…

pytorch 神经网络基础入门笔记【b站小土堆】

文章目录python深度学习配置环境anacondapycharmpytorchpython学习中的两大法宝函数加载数据Tensorboard使用torchvision中的transformstensor数据类型transform该如何使用为什么我们需要Tensor类型更好的使用transformsToTensorNormalizeResizeComposeRandomCrop总结torchvisi…

JVM快速入门学习笔记(三)

9. 栈 栈:8大基本类型对象引用 栈运行原理:栈帧 程序正在执行的方法,一定在栈的顶部 9.1 JVM数据区 先上一张Java虚拟机运行时数据区中堆、栈以及方法区存储数据的概要图,如下所示: 9.2 堆 堆是存储时的单位&…

美团出品 | YOLOv6 v3.0 is Coming(超越YOLOv7、v8)

🚀🚀🚀美团出品 | YOLOv6 v3.0 is Coming !!✨✨✨ 一、前言简介 🎄🎈 📚 代码地址:美团出品 | YOLOv6 3.0代码下载地址 📚 文章地址:https://a…

四、python-pyecharts图表可视化(黑马程序猿-python学习记录)

黑马程序猿的python学习视频:https://www.bilibili.com/video/BV1qW4y1a7fU/ 目录 1. 官网链接 2. 下载pyecharts 3. 编写一个折线图 4. 隐藏线段上的数据 5. 绘制柱状图 6. 柱状图的xy轴反转 7. 柱状图设置提示在最右边 8. 时间柱状图 9. 时间柱状图设置颜色主题 …

第三章 AOP

1.AOP基本概念*什么是AOP:面向切面编程,利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各个部分之间的耦合度降低,提高程序的可重用性,同时提高开发效率(不通过修改源代码方式,在主…

深入跨域问题(2) - 利用 CORS 解决跨域

目录 1.搭建跨域环境(先展示一下跨域请求的情况)&#xff1a; 2.处理非预请求 3.处理 POST 预请求 4.总结&#xff1a; 1.搭建跨域环境(先展示一下跨域请求的情况)&#xff1a; 模拟客户端请求&#xff1a; <!DOCTYPE html> <html lang"zh-CN"> <…

客快物流大数据项目(一百零七):物流信息查询服务接口开发解决方案

文章目录 物流信息查询服务接口开发解决方案 一、业务需求

探究数据库mysql的vachar、test、longtext存储极限

文章目录背景介绍项目实操如果想要自己尝试&#xff0c;使用Apipost工具&#xff0c;调用接口测试即可mysql类型如果感觉有点意思点个关注&#xff0c;一键三连吧&#xff01;蟹蟹&#xff01;&#xff01;&#xff01;背景 想要清晰的了解到&#xff0c;使用longtext类型&…

C++:类的构造函数与析构函数

目录 一.前言 二.类的构造函数 1.构造函数基本概念与语法细则 2.编译器默认生成的无参构造函数和自定义构造函数 3.构造函数的特性(可重载) 4.关于构造函数的注意事项 5.构造函数的应用示例&#xff1a; 三.类的拷贝构造函数 1.拷贝构造函数基本概念 2.编译器默认生成…