uni-app实现点赞评论功能

时间:2021-05-26

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

点赞思路:点击的时候,使用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-mentStatus = 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;},

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章