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 相关文章推荐
prototype1.4中文手册
Sep 22 Javascript
jQuery 选择器、DOM操作、事件、动画
Nov 25 Javascript
jQuery结合Json提交数据到Webservice,并接收从Webservice返回的Json数据
Feb 18 Javascript
jQuery拖拽 &amp; 弹出层 介绍与示例
Dec 27 Javascript
jQuery自定义事件的简单实现代码
Jan 27 Javascript
ajax+jQuery实现级联显示地址的方法
May 06 Javascript
ui组件之input多选下拉实现方法(带有搜索功能)
Jul 14 Javascript
微信小程序 页面跳转传参详解
Oct 28 Javascript
jQuery使用unlock.js插件实现滑动解锁
Apr 04 jQuery
详解Vue实战指南之依赖注入(provide/inject)
Nov 13 Javascript
原生js实现购物车功能
Sep 23 Javascript
微信小程序实现天气预报功能(附源码)
Dec 10 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将页面中点击数量高的链接进行高亮显示的方法
2016/05/30 PHP
PHP实现导出带样式的Excel
2016/08/28 PHP
PHP生成图片缩略图类示例
2017/01/12 PHP
PHP获取数据库表中的数据插入新的表再原删除数据方法
2018/10/12 PHP
jquery 图片Silhouette Fadeins渐显效果
2010/02/07 Javascript
javascript代码运行不出来执行错误的可能情况整理
2013/10/18 Javascript
js替代copy(示例代码)
2013/11/27 Javascript
jQuery中的val()示例应用
2014/02/26 Javascript
javascript的列表切换【实现代码】
2016/05/03 Javascript
jquery mobile 实现自定义confirm确认框效果的简单实例
2016/06/17 Javascript
jquery根据td给相同tr下其他td赋值的实现方法
2016/10/05 Javascript
AngularJS指令用法详解
2016/11/02 Javascript
javaScript语法总结
2016/11/25 Javascript
vue.js树形组件之删除双击增加分支实例代码
2017/02/28 Javascript
Angular2 http jsonp的实例详解
2017/08/31 Javascript
Vue.js简易安装和快速入门(第二课)
2017/10/17 Javascript
JS遍历DOM文档树的方法实例详解
2018/04/03 Javascript
angularJs中json数据转换与本地存储的实例
2018/10/08 Javascript
Python获取当前时间的方法
2014/01/14 Python
Python脚本暴力破解栅栏密码
2015/10/19 Python
Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】
2018/08/30 Python
python 使用xlsxwriter循环向excel中插入数据和图片的操作
2021/01/01 Python
css3 background属性调整增强介绍
2010/12/18 HTML / CSS
eBay瑞士购物网站:eBay.ch
2018/12/24 全球购物
客户表扬信范文
2014/01/10 职场文书
巧克力蛋糕店创业计划书
2014/01/14 职场文书
实习鉴定评语
2014/01/19 职场文书
初二生物教学反思
2014/02/03 职场文书
房屋出租委托书格式
2014/09/23 职场文书
2014年民主评议党员工作总结
2014/12/02 职场文书
爱心捐款感谢信
2015/01/20 职场文书
党员转正介绍人意见
2015/06/03 职场文书
《文化苦旅》读后感:阅读,让人诗意地栖居在大地上
2019/12/24 职场文书
老生常谈 使用 CSS 实现三角形的技巧(多种方法)
2021/04/13 HTML / CSS
微信小程序基础教程之echart的使用
2021/06/01 Javascript
什么是动态刷新率DRR? Windows11动态刷新率功能介绍
2021/11/21 数码科技