基于微信小程序的用户列表点赞功能
一、前言
(1)、适合人群
1.微信小程序开发者
2.前端工程师
3.想入门学习小程序开发的人员
4.想深入学习微信小程序前后端开发的人员
(2)、你需要准备什么?
1.能积极主动学习 , 踏实、不浮躁
2.前端基础(HTML , CSS , JS 基础)
3.一门后端语言 ,例如(PHP , Java , C , C# 等等......) 本人会以世界上最友好的语言PHP讲述小程序的后端接口的数据提供
二、前期准备工作
软件环境:微信开发者工具
官方下载地址:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html
1、基本需求。
- 实现用户对文章的点赞功能
- 实时动态展示
2、案例目录结构

三、程序实现具体步骤
1.点赞index.wxml代码
<view class="container">
<view class="list" wx:for="{{list}}" wx:key="key" wx:for-item="item" wx:for-index="index">
<view class="praise {{item.hasChange? 'changed': ''}}" hover-class="hover_praise" bindtap="praiseThis" data-curIndex="{{index}}">{{item.praise}}</view>
<view class="author">{{item.author}}</view>
<view class="info">{{item.info}}</view>
</view>
</view>
2.点赞index.wxss代码
.container {
background: #fff;
height: 100%;
font-family: 'Miscrsoft YaHei'
}
.list {
background: #2EB3FF;
position: relative;
padding: 10px 10px 10px 70px;
height: 50px;
margin-bottom: 10px;
}
.praise {
width: 50px;
height: 50px;
background: #999;
text-align: center;
line-height: 50px;
border-radius: 50%;
position: absolute;
left: 10px;
transition: 0.5s;
color: #000;
background: #fff;
}
.hover_praise, .changed {
transition: 0.5s;
background: #ccc;
}
.author {
display: block;
height: 20px;
color: #fff;
}
.info {
height: 30px;
line-height: 30px;
font-size: 12px;
color: #fff;
}
3.点赞index.js逻辑代码
a.点赞部分的功能实现
praiseThis: function (e) {
var index = e.currentTarget.dataset.curindex;
if (this.list[index]) {
var hasChange = this.list[index].hasChange;
if (hasChange !== undefined) {
var onum = this.list[index].praise;
if (hasChange) {
this.list[index].praise = (onum - 1);
this.list[index].hasChange = false;
} else {
this.list[index].praise = (onum + 1);
this.list[index].hasChange = true;
}
this.setData({
list: this.list
})
}
}
}
b.构建数据列表
list = [{
'author': '萌兔子QAQ',
'info': '我发现萌兔子,真的好帅!',
'praise': 0,
'hasChange': false
},
{
'author': '萌兔子QAQ',
'info': '我发现萌兔子,真的好帅!',
'praise': 133,
'hasChange': false
},
{
'author': '萌兔子QAQ',
'info': '我发现萌兔子,真的好帅!',
'praise': 0,
'hasChange': false
},
{
'author': '萌兔子QAQ',
'info': '我发现萌兔子,真的好帅!',
'praise': 8,
'hasChange': false
},
{
'author': '萌兔子QAQ',
'info': '我发现萌兔子,真的好帅!',
'praise': 33,
'hasChange': false
}]
四、案例运行效果图

五、总结与备注
暂无基于微信小程序的用户列表点赞功能
注:本文著作权归作者,由demo大师代发,拒绝转载,转载需要作者授权
基于微信小程序的用户列表点赞功能的更多相关文章
- 微信小程序新闻信息列表展示
微信小程序信息展示列表 wxml <!-- 轮播图 --> <view class='haibao' bindtap="seeDetail" id="{ ...
- 微信小程序开发-新闻列表之新闻列表绑定
微信小程序开发-新闻列表之新闻列表绑定开发教程: 1.效果图预览 2.准备工作 在拿到效果图后不要先急着去写代码,而是要去分析一下页面的整体结构,用什么方式定位和布局.小程序里建议使用flex布局,因 ...
- 基于微信小程序的失物招领系统的Postmortem
基于微信小程序的失物招领系统的Postmortem 设想和目标 1.我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 对于我们团队要解决的问题和实现的功能在项目开始就 ...
- 【基于微信小程序的社区电商平台】Alpha迭代心得
项目团队:小豆芽 开发周期:11.5-12.2(Alpha版本) 设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 解决问题:当前电商平台卖家买家角 ...
- 【基于微信小程序的社区电商平台】需求分析心得——小豆芽
一.项目内容 基于微信小程序,做一个社区电商平台,抓住社区电商的特点,做出特色,与微信集成,实现商品的个性化发布,以及个性化营销. 个性化发布:用户可以在应用上直接发布自己的商品,通过搜索心愿单可以查 ...
- 微信小程序信息展示列表
微信小程序信息展示列表 效果展示: 代码展示: wxml <view class="head"> <view class="head_item" ...
- [微信小程序] 微信小程序获取用户定位信息并加载对应城市信息,wx.getLocation,腾讯地图小程序api,微信小程序经纬度逆解析地理信息
因为需要在小程序加个定位并加载对应城市信息 然而小程序自带api目前只能获取经纬度不能逆解析,虽然自己解析方式,但是同时也要调用地图,难道用户每次进小程序还要强行打开地图选择地址才定位吗?多麻烦也不利 ...
- 图解微信小程序---获取电影列表
图解微信小程序---获取电影列表 代码笔记 list跳转 第一步:编写前端页面获取相关的电影列表参数(对于显示参数不熟悉,可以先写js,通过console Log的方式获取我们电影的相关数据字段,后 ...
- 微信小程序 获取用户信息并保存登录状态
微信小程序 获取用户信息并保存登录状态:http://www.360doc.com/content/18/0124/11/9200790_724662071.shtml
随机推荐
- ACM -- 算法小结(七)Phone list解题报告
HDOJ -- Phone list解题报告 问题描述:给出一些电话号码,如果有共同前缀则输出NO,如果没有则输出YES. 解题关键:将电话号码进行字符串排序,相邻的电话号码进行比较 Sa ...
- 【EGit】The current branch is not configured for pull No value for key branch.master.merge found in config
1.在当前项目的本地工程目录找到config文件(例如E:\rocket\rocket\.git): 2.修改config文件内容为: [core] repositoryformatversio ...
- 树莓派(Debian)系统设置了静态IP之后还会获取动态IP的问题解决(scope global secondary eth0)
解决方法: 1.配置好静态IP在/etc/network/interface 2.关闭dhcp服务(不知道这个服务是干嘛的,明明是客户端还需要这个) sudo systemctl stop dhcpc ...
- ted飞行器
http://v.youku.com/v_show/id_XNTc0MTk0MzI4.html
- python中获取当前位置所在的行号和函数名(转)
http://www.vimer.cn/2010/12/%E5%9C%A8python%E4%B8%AD%E8%8E%B7%E5%8F%96%E5%BD%93%E5%89%8D%E4%BD%8D%E7 ...
- std::string compare
#include <iostream> #define NULL 0 #define MAX_LIMIT 5 //#define MAX_LENGTH 2 bool ComparePC2S ...
- 【spring】在spring cloud项目中使用@ControllerAdvice做自定义异常拦截,无效 解决原因
之前在spring boot服务中使用@ControllerAdvice做自定义异常拦截,完全没有问题!!! GitHub源码地址: 但是现在在spring cloud中使用@ControllerAd ...
- ssh 远程登陆指定端口
ssh 到指定端口 ssh -p xx user@ip xx 为 端口号 user为用户名 ip为要登陆的ip SSH 原理及远程登录 http://www.ruanyifeng ...
- Mysql5.7.9密码已过有效期的处理过程
怎么知道系统默认的有效期是多久呢?使用一个普通用登陆[未过期]:默认系统的密码生命周期是360天就是一年这样了: test01@(none) 09:11:43>show variables li ...
- Linux进程间通信:管道,信号量,消息队列,信号,共享内存,套接字
Linux下的进程通信手段基本上是从UNIX平台上的进程通信手段继承而来的.而对UNIX发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间 ...