对于文章评论及回复的实现
先看下大概样子:
布局基本和百度文章内的一样,可以去百度随便点个文章看一下效果。
点击回复按钮会在对应的评论下面出现输入框及发表按钮;
实现起来也很简单,简单整理一下思路:
首先数据是二维数组形式的,评论列表内包含回复列表。先循环遍历出所有评论,再在评论内部遍历所有它的回复
这里没有采用回复框动态添加(addChild)到指定父div的方式,而是直接把回复框直接当作一个元素与评论一起循环遍历,然后利用 v-if 来指定哪个框该显示
html结构如下:
子评论的结构与父一样,
data :
两个id一个是评论id,一个是回复(子评论)的id,
replyIndex是评论的index,
replyitemIndex是子评论的index
在点击回复时:
当前评论的回复框出现,其他评论的框隐藏。再次点击也隐藏,取消回复;
传入评论id 用于传参,第二个参数为当前点击的 index用作匹配,
因为页面只能出现一个框,所以如果有子评论的回复框是显示的时候,要把子评论的框先隐藏。
如果当前点击的 index 和 replyIndex 相等,那么点击的是同一个评论下的回复按钮,那就把框隐藏(replyIndex重新置为false),否则等于新的 index (别的评论框显示)
点击回复子评论的时候,单传靠 replyitemIndex 还不行,因为点击第一个子评论的你会发现每个评论下面的第一个子评论的框都出现了,所以要指定一个 parentIndex,只让当前点击的这个评论下的子评论的回复框显示,看上面子评论盒子的 v-if
当然,如果父评论的回复框有显示的,首先也得把它隐藏
好了,基本就实现了,剩下就去拿对应的ID去走接口就行了。
原文地址:https://www.cnblogs.com/listen9436/p/15043904.html
- MyBatis3-配置使用log4j输出日志
- nginx支持跨域访问
- nginx静态资源文件无法访问,403 forbidden错误
- vue.js如何在标签属性中插入变量参数
- SpringBoot解决ajax跨域问题
- WebBrowser(IE) 与 JS 相互调用
- HOSTS配置问题导致集群异常故障分析
- Linux Regulator Framework(2)_regulator driver
- systemd的作用
- alsa声卡分析alsa-utils调用过程(二)-tinymixer
- alsa声卡分析alsa-utils调用过程(一)-tinyplay
- ALSA声卡驱动的DAPM(二)-建立过程
- ALSA声卡驱动的DAPM(一)-DPAM详解
- 高通Audio中ASOC的codec驱动(二)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 打卡群刷题总结0816——三角形最小路径和
- 打卡群刷题总结0814——二叉树展开为链表
- 打卡群刷题总结0813——二叉树展开为链表
- 打卡群刷题总结0812——路径总和 II
- SQL中CASE表达式的妙用
- 2w 字 + 40 张图带你参透并发编程!
- RSA 敏感数据加解密方案
- 极客算法训练笔记(一),算法学习方法篇
- 链表:听说用虚拟头节点会方便很多?
- 从JVM设计者的角度来看.class文件结构,一文弄懂.class文件的身份地位
- 抓包分析UDP,TCP和UDP的区别说不上五条就进来看看吧
- 学习|C#线程中AutoResetEvent的使用
- Httprouter—用go实现的高性能路由器
- Django-python最流行的web框架
- C++ 类的不同构造与三种引用