uni-app实现点赞评论功能


Posted in Javascript onNovember 25, 2019

模拟朋友圈实时点赞及评论功能

点赞思路:点击的时候,使用push(点赞)以及slice(取消赞)方法处理数组,并且调用点赞接口

评论思路:点击的时候,写多一个评论列表,当点击发送的时候commentStatus=true,且索引等于点击的索引。同时调用获取评论列表的接口

html

<view class="toolbar">
  <view class="timestamp">{{item.timetype}}</view>
  <!-- 点赞 如果islove==1,图片变为点赞的图片-->
  <view class="like" @tap="like(index,item.id)">
    <image :src="item.islove==1?'../../static/images/lllllike.png':'../../static/images/llike.png'"></image>
  </view>
  <!-- 评论 -->
  <view class="comment" @tap="comment(index,item.id)">
    <image src="../../static/images/pinglun.png"></image>
  </view>
</view>
<!-- 赞/评论区 -->
<view class="post-footer">
  <!-- 点赞区 -->
  <view class="footer_content" v-if="item.lovelist.length>0">
    <image class="liked" src="../../static/images/likelike.png"></image>
    <text class="nickname" v-for="(love,love_index) of item.lovelist" :key="love_index">{{love.name}},</text>
  </view>
  <!-- 评论区 -->
  <view class="footer_content" v-if="item.community_on.length>0" v-for="(comment,comment_index) in item.community_on" :key="comment_index">
    <text class="comment-nickname">{{comment.nickname}}: <text class="comment-content">{{comment.content}}</text></text>
  </view>
   <!-- 当评论发送成功之后实时渲染出来评论列表-->
  <view class="footer_content" v-if="commentStatus && index==commentIndex">
    <text class="comment-nickname">{{realtimename}}: <text class="comment-content">{{realtimecontent}}</text></text>
  </view>
</view>
// 点赞
like(index,communityId) {
  if (this.community[index].islove == 0) {
    this.community[index].islove = 1;
    this.community[index].lovelist.push(
      {name:this.userinfo.nickname,vipid:this.userinfo.id}
    )
    this.likeImport(communityId)
  } else {
    this.community[index].islove = 0;
    this.community[index].lovelist.splice(this.community[index].lovelist.indexOf(this.userinfo.nickname), 1)
    this.likeImport(communityId)
  }
},
// 点赞接口
likeImport(id) {
  app.vipidRequest({
    url: 'Vip/community_love',
    data: {
      id: id
    },
    header: {
      'content-type': 'application/x-www-form-urlencoded', 
    },
    method: 'POST',
    success:(res) => {
      if(res.data.status) {

      } else {
        console.log(res.data)
      }
    }
  })
},
// 点击评论
comment(index,communityId) {
  this.showInput = true; //调起input框
  this.focus = true; // 对焦
  this.communityId = communityId
},
// 点击发送
send_comment: function(message) {
  this.commentStatus = true 
  this.commentIndex = index
  this.realtimecontent = message.content
  this.realtimename = this.userinfo.nickname
  app.vipidRequest({
    url: 'Vip/community_on',
    data: {
      id: this.communityId,
      content: message.content,
      type: 1
    },
    header: {
      'content-type': 'application/x-www-form-urlencoded', 
    },
    method: 'POST',
    success:(res) => {
      if(res.data.status) {
        this.getCommunity() // 整个页面数据刷新
        this.init_input()
        this.commentStatus = false // 临时渲染评论的列表隐藏
        this.realtimecontent = ''
        this.realtimename = ''
        this.input_placeholder = '评论';
      } else {
        console.log(res.data)
      }
    }
  })
}
// 取消评论/评论完成输入框状态值
init_input() {
  this.showInput = false;
  this.focus = false;
  this.input_placeholder = '评论';
  this.is_reply = false;
},

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
通过Jscript中@cc_on 语句识别IE浏览器及版本的代码
May 07 Javascript
自己实现string的substring方法 人民币小写转大写,数字反转,正则优化
Sep 02 Javascript
Jquery实现视频播放页面的关灯开灯效果
May 27 Javascript
微信分享的标题、缩略图、连接及描述设置方法
Oct 14 Javascript
不依赖Flash和任何JS库实现文本复制与剪切附源码下载
Oct 09 Javascript
Vue.js实现拖放效果的实例
Sep 30 Javascript
jQuery 检查某个元素在页面上是否存在实例代码
Oct 27 Javascript
seajs实现强制刷新本地缓存的方法分析
Oct 16 Javascript
浅谈如何使用 webpack 优化资源
Oct 20 Javascript
JavaScript常见事件对象与操作实例总结
Jan 05 Javascript
手机浏览器唤起微信分享(JS)
Oct 11 Javascript
ant design中upload组件上传大文件,显示进度条进度的实例
Oct 29 Javascript
js prototype深入理解及应用实例分析
Nov 25 #Javascript
KnockoutJS数组比较算法实例详解
Nov 25 #Javascript
js实现简单的日历显示效果函数示例
Nov 25 #Javascript
VUE.CLI4.0配置多页面入口的实现
Nov 25 #Javascript
用Golang运行JavaScript的实现示例
Nov 25 #Javascript
JS插入排序简单理解与实现方法分析
Nov 25 #Javascript
纯 JS 实现放大缩小拖拽功能(完整代码)
Nov 25 #Javascript
You might like
php+oracle 分页类
2006/10/09 PHP
php中cookie的作用域
2008/03/27 PHP
fleaphp rolesNameField bug解决方法
2011/04/23 PHP
Laravel 5 学习笔记
2015/03/06 PHP
JSON无限折叠菜单编写实例
2013/12/16 Javascript
JavaScript阻止事件冒泡示例分享
2014/12/28 Javascript
JavaScript阻止浏览器返回按钮的方法
2015/03/18 Javascript
理解javascript定时器中的setTimeout与setInterval
2016/02/23 Javascript
基于javascript编写简单日历
2016/05/02 Javascript
Javascript字符串常用方法详解
2016/07/21 Javascript
用js写的一个路由(简单实例)
2016/09/24 Javascript
SVG描边动画
2017/02/23 Javascript
NodeJS测试框架mocha入门教程
2017/03/28 NodeJs
vuejs 动态添加input框的实例讲解
2018/08/24 Javascript
微信小程序使用wxParse解析html的方法示例
2019/01/17 Javascript
Vue+Java+Base64实现条码解析的示例
2020/09/23 Javascript
使用Python标准库中的wave模块绘制乐谱的简单教程
2015/03/30 Python
Linux中Python 环境软件包安装步骤
2016/03/31 Python
Python解惑之True和False详解
2017/04/24 Python
转换科学计数法的数值字符串为decimal类型的方法
2018/07/16 Python
在python中使用with打开多个文件的方法
2019/01/07 Python
python 实现dict转json并保存文件
2019/12/05 Python
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
2020/04/15 Python
Python3爬虫中识别图形验证码的实例讲解
2020/07/30 Python
Python制作运行进度条的实现效果(代码运行不无聊)
2021/02/24 Python
使用html2canvas实现将html内容写入到canvas中生成图片
2020/01/03 HTML / CSS
Lou & Grey美国官网:主打舒适性面料服饰
2017/12/21 全球购物
给排水专业应届生求职信
2013/10/12 职场文书
高中毕业自我鉴定
2013/12/19 职场文书
高二政治教学反思
2014/02/01 职场文书
整改报告格式
2014/11/06 职场文书
感谢信模板大全
2015/01/23 职场文书
2015年数学教研工作总结
2015/07/22 职场文书
少先队大队委竞选口号
2015/12/25 职场文书
护士岗前培训心得体会
2016/01/08 职场文书
HTML中link标签属性的具体用法
2023/05/07 HTML / CSS