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 相关文章推荐
IE和FireFox(FF)中js和css的不同
Apr 13 Javascript
通用javascript脚本函数库 方便开发
Oct 13 Javascript
jQuery中delegate与on的用法与区别示例介绍
Dec 20 Javascript
利用jQuery简单实现产品展示图片左右滚动功能(示例代码)
Jan 02 Javascript
D3.js 从P元素的创建开始(显示可加载数据)
Oct 30 Javascript
node.js中的path.basename方法使用说明
Dec 09 Javascript
浅谈jquery.form.js的ajaxSubmit和ajaxForm的使用
Sep 09 Javascript
Easyui Tree获取当前选择节点的所有顶级父节点
Feb 14 Javascript
微信小程序实现的五星评价功能示例
Apr 25 Javascript
微信小程序 拍照或从相册选取图片上传代码实例
Aug 28 Javascript
axios封装与传参示例详解
Oct 18 Javascript
详解Vue中的watch和computed
Nov 09 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
require(),include(),require_once()和include_once()区别
2008/03/27 PHP
PHP编程之设置apache虚拟目录
2016/07/08 PHP
php判断电子邮件是否正确方法
2018/12/04 PHP
javascript 数组排序函数
2009/08/20 Javascript
JavaScript isArray()函数判断对象类型的种种方法
2010/10/11 Javascript
在iframe里的页面编写js,实现在父窗口上创建动画效果展开和收缩的div(不变动iframe父窗口代码)
2011/12/20 Javascript
javascript限制文本框输入值类型的方法
2015/05/07 Javascript
jQuery实现的背景动态变化导航菜单效果
2015/08/24 Javascript
js操作cookie保存浏览记录的方法
2015/12/25 Javascript
jQuery+php实时获取及响应文本框输入内容的方法
2016/05/24 Javascript
jQuery多文件异步上传带进度条实例代码
2016/08/16 Javascript
Vue.js每天必学之指令系统与自定义指令
2016/09/07 Javascript
探索webpack模块及webpack3新特性
2017/09/18 Javascript
vue中的mvvm模式讲解
2019/01/31 Javascript
微信小程序 wepy框架与iview-weapp的用法详解
2019/04/10 Javascript
深入了解JavaScript代码覆盖
2019/06/13 Javascript
js时间转换毫秒的实例代码
2019/08/21 Javascript
vue自定义正在加载动画的例子
2019/11/14 Javascript
python备份文件以及mysql数据库的脚本代码
2013/06/10 Python
浅谈Python2、Python3相对路径、绝对路径导入方法
2018/06/22 Python
Django中URL的参数传递的实现
2019/08/04 Python
Python中return函数返回值实例用法
2020/11/19 Python
css3圆角样式分享自定义按钮样式
2013/12/27 HTML / CSS
利用Storage Event实现页面间通信的示例代码
2018/07/26 HTML / CSS
罗德与泰勒百货官网:Lord & Taylor
2016/08/12 全球购物
德国电子产品购物网站:TechInTheBasket德国
2018/12/07 全球购物
女性时尚在线:IVRose
2019/02/23 全球购物
甜品店的创业计划书范文
2014/01/02 职场文书
学校门卫岗位职责
2014/03/16 职场文书
教学改革实施方案
2014/03/31 职场文书
ktv筹备计划书
2014/05/03 职场文书
化工专业求职信
2014/07/01 职场文书
初中学校对照检查材料
2014/08/19 职场文书
大专毕业生自我鉴定范文(2篇)
2014/09/27 职场文书
个人工作总结范文2014
2014/11/07 职场文书
如何自己动手写SQL执行引擎
2021/06/02 MySQL