vue父子组件通信实现简单的评论功能

vue 实现评论回复功能 参考文档https://blog.youkuaiyun.com/weixin_35987513/article/details/53748707项目中分别有三个组件1.dynamic (父组件)2.reply (子组件 评论的内容区块)3.commenttext (子组件 评论的输入框)首先在父组件,先通过异步获取到文章动态的数据,<div class="dy_list" v-for="(item, i... 阅读详情

vue中父子组件通信在日常开发中还是比较常用的,与之相关的文章也非常多,这次分享给大家的是一个子组件和父组件交互的小例子,效果如下

上半部分是评论列表,下半部分是子组件,当填写评论人和评论内容,点击发表刷新上半部分的评论列表

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>发布评论</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style type="text/css">
     
    </style>
     <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css">
     <script src="https://unpkg.com/vue/dist/vue.js"></script>
</head>
<body>
    <div class="container" id="app">

        <div class="row">
    
         <ul class="list-group" style="margin-top:20px;">
             <li class="list-group-item" v-for="item in commentList">
                 {{item.content}}
                 <span class="badge"> {{item.userName}}</span>
             </li>
            
         </ul>
     
           <reply-form  @func="refreshCommentList"></reply-form>
    
        </div>
    </div>
    <template id="repForm">
         <div>
            <div class="form-group">
                <label>评论人</label>
                <input type="text" class="form-control" id="userName" v-model="userName"/>
            </div>
            <div class="form-group">
                <label>评论内容</label>
               <textarea name="" id="input" class="form-control" rows="5" v-model="content"></textarea>
            </div>
            <div class="form-group">
                <button type="submit" class="btn btn-primary" @click.prevent="saveComment">发表</button>
            </div>
       
         </div>
    </template>
    <script>
       
        var vm=new Vue({
           el:"#app",
           data:{
             commentList:[]
           },
           methods:{
               refreshCommentList:function refreshCommentList(){
                console.log("-------");
                var list=JSON.parse(localStorage.getItem('commentList')||'[]');
                this.commentList=list;
               }
           },
           created() {
               this.refreshCommentList();
           },
           components:{
               "reply-form":{
                   template:'#repForm',
                   data:function(){
                      return {
                          userName:'',
                          content:''
                      }
                   },
                   methods:{
                       saveComment:function saveComment(){
                           var comment={id:new Date(),userName:this.userName,content:this.content};
                           //取得之前存储的元数据
                           var list=JSON.parse(localStorage.getItem('commentList')||'[]');
                       
                           list.unshift(comment);
                           //重设localStorage
                           localStorage.setItem('commentList',JSON.stringify(list));

                           this.userName=this.content='';

                           //调用父组件方法刷新列表
                           this.$emit('func');
                        }
                   }
               }
           }
        });
    </script>
</body>
</html>

本例子的重点在于数据的存储和子组件调用父组件的方法刷新列表,这里使用浏览器的本地存储localstorage,父组件的方法调用使用$emit

简单实现基于vue的评论发布 阅读详情

相关推荐

Vue-文章详情页的评论功能(抽取为公共组件-评论组件)

文章详情:父组件 评论组件:子组件 评论组件的数据获取需要知道文章的id,涉及到父子组件的通信父组件传递数据给子组件 父组件通过属性commentId把数据传递给子组件,id数据从地址栏获取 子组件通过props: [‘commentId’],配置项接收父组件传递的数据父组件使用子组件 第一步 在父组件中引入评论组件:import Comment from ‘../comment/C

忘掉地平线 4174

使用vue写一个评论组件

写一个评论组件,可以使用 Vue 框架。您可以在 Vue 文件中编写模板,绑定数据并处理用户输入。 下面是一个简单的示例: <template> <div> <form @submit.prevent="submitComment"> <textarea v-model="newComment"></textarea&g...

weixin_42593701的博客 577

VUE组件通信的使用

VUE组件通信的使用

私信可回答各种问题~ 982

多级留言/评论的功能实现——Vue3前端篇

使用vue3对多级留言的功能前端实现

道阻且长 心态要好 6484

Vue.js实现文章评论和回复评论功能

本来想把这个页面用jade渲染出来、评论部分用vue,但是想了想觉得麻烦,最后还是整个用vue的组件搞定他吧。 先上在线demo:http://jsbin.com/ceqifo/1/edit?js,output 再上效果图 可直接评论,点击别人的评论能回复别人的评论。 html </

一种4位sar adc仿真验证

4位sar adc采用下图的电容阵列,电路如下图:所有电容的正端(也称为上极板)与比较器的反相端连接,比较器同相端接Vin,其工作过程进行大致分析见之前的文章《一种4位sar adc工作过程推导(三)》,下面对这个电路进行仿真验证。 两个参考电压VrefPV_{refP}VrefP​和VrefNV_{refN}VrefN​,V+=VinV_{+}=V_{in}V+​=Vin​,假设1116(VrefP−VrefN)+VrefN<Vin<1216(VrefP−VrefN)+VrefN\frac{

大学生视野 1954

vue-cli单文件组件的简单应用

vue-cli单文件组件的简单应用一、简介二、功能实现1、组件的划分1)、静态页面的划分2)、动态功能的实现2、组件的使用1)、引入组件2)、渲染组件3)、使用组件3、功能的实现1) 、添加评论2)、显示评论2)、删除评论 一、简介 为了更好地理解单文件组件的使用以及巩固vue的基础知识,写了一个简单的评论系统 二、功能实现 1、组件的划分 实现步骤分为两个部分:静态页面的实现 动态功能的实现 1...

Kepler_X的博客 490

细说STM32单片机SPI-Flash芯片的FatFS移植及其应用实例详解

本文以开发板上的SPI-Flash芯片W25Q16为媒介详细介绍CubeMX中FatFS各个参数的意义和设置,分析生成的代码中FatFS各个文件的作用和关联,完成针对W25Q16的硬件访问层的移植。继续使用旺宝红龙开发板STM32F407ZGT6 KITV1.0。

wenchm的博客 1640

【vue】vue组件发表评论功能

今天看了vue相关的视频,所以跟着做一个小demo把知识串联起来,内容很简单但是也算是学习道路上的一点进步。 1 思路分析 发表评论模块写入一个组件,提高复用性。 关键点: 子组件通过localStorage向父组件传值 子组件有自己的data存储user和content,即评论人和评论内容,也就是dom元素绑定的数据。 点击‘发表评论’后,首先是将各条评论存入localStorage,然后通过...

ljs_coding 6633

PCIe 6.0实战指南:从链路训练到信号完整性的避坑手册

本文是一份针对PCIe 6.0硬件工程师的实战避坑指南。文章深入解析了从NRZ到PAM4调制带来的信号完整性挑战,详细拆解了链路训练(LTSSM)的复杂过程与调试方法,并提供了从信道仿真到实验室实测(如使用Keysight示波器进行眼图与误码率分析)的完整信号完整性闭环验证策略,帮助工程师解决高速率下的链路不稳定与降速问题。

weixin_29306875的博客 342

红外与可见光融合避坑指南:LLVIP数据集实测6大算法效果对比

本文基于专为弱光视觉设计的LLVIP数据集,对GTF、DenseFuse、FusionGAN、IFCNN等6种主流红外与可见光图像融合算法进行了深度实测与对比。通过客观指标与可视化分析,揭示了算法在极端弱光下易出现特征丢失的共性问题,并探讨了融合图像对下游目标检测任务的实际增益,为工程选型与算法调优提供了实用指南。

weixin_29092031的博客 439

vue组件实现发表评论功能(localStorage)

首先画出简单的界面如下: 说说我的思路:由于是为了去练习组件之间传值,所以将页面上的写评论部分写在了子组件中,然后在然后然后子组件点击发表将数据传递给父组件的data,再由父组件来渲染评论社区的页面。 1.先主实例的data中写一个固定的评论列表,然后在页面上利用v-for来渲染实现页面效果。 2.在模板中定义一个方法publishctx,用来发表数据,但是如何拿到评论人和评论内容呢? ...

yezi__6的博客 5814

SVM-支持向量机学习(1):线性可分SVM的基本型

1. foreword先看的是李航老师的书第7章,比较传统按照以下三节展开: 线性可分SVM 线性SVM 非线性SVM SMO算法 李航老师讲东西向来不拖泥带水,但本节也几乎用了40页的篇幅,足见涉及内容之多。7月底硬着头皮啃了下来,边看边在笔记上摘抄标注,花了2天时间对SVM有了基本认识。一个月过去了,如今重新整理为博客,再看轻松许多,并不断对比西瓜书的内容,启望达到融会贯通。西瓜书此节明显节奏轻

鸟恋旧林的博客 8680

Vue-cli + jQuery框架实现无限递归评论和无限递归回复功能

继上一次码博——讨论如何用Vue实现评论与回复相关功能之后的重现 往下看,有彩蛋

qq_42349895的博客 2087

【计算机科学导论实验】加法图灵机模拟 题解

本文提供计算机科学导论课程“图灵机加法器”实验的个人思路,仅供参考。

Chavapa's blog 2578

Halcon-AOI外观缺陷检测系列

Halcon-AOI外观缺陷检测系列

Jumy_S的博客 1667

基于vue+iview UI的多级评论回复功能

我在做项目时遇到了需要评论回复功能。由于iview UI没有该组件,所以自定义设计 效果图如下 支持评论和多级回复 废话不多说,vue代码如下: 评论组件 <template> <div> <List item-layout="vertical" size="small" :split="false"> ...

weixin_45089791的博客 4871

实战|2026美团&大众点评餐饮数据抓取:Playwright/Selenium反爬全攻略

核心结论:2026年美团&大众点评的反爬核心是“多维度风控”,需组合使用“住宅IP+设备指纹伪装+真人行为模拟+动态验证处理”,Playwright是最优工具,Selenium仅作为补充。效率优化:单机爬取速度建议控制在“每小时500-800条”,避免高频请求触发风控;分布式爬取需确保每个节点使用独立住宅IP,且行为轨迹不一致。扩展方向集成WASM解密工具,破解2026年美团的Token加密;用AI识别动态点选验证,提升验证通过率;对接大数据平台,对抓取的餐饮数据进行可视化分析。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2462

vue-父子组件传参以及无限级评论

vue组件的使用 fuzujian.vue <template> <div> <zi :data="data" /> </div> </template> <script> import zi from './zi' import axios from 'axios' export default { name:"fuzujian", data() { return

weixin_51103262的博客 459

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

【前端】+【后端】简单的前后端通信实现评论区功能

本文记录一下简单的前后端通信实现一个评论区的功能,并把评论数据使用数据库进行保存。

qq_73995047的博客 929

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Vue学习记录--父子组件之间传值以及案例评论列表的实现

父组件向子组件传值 组件实例定义方式,注意:一定要使用props属性来定义父组件传递过来的数据 &amp;lt;script&amp;gt; // 创建 Vue 实例,得到 ViewModel var vm = new Vue({ el: '#app', data: { msg: '这是父组件中的消息' }, components...

小灰狼与大白兔的博客 6171

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

闲来无事3 — vue3实现自己的无限评论组件(1)

⚠️说明:本次组件使用的是纯静态数据,没有实现后端接口。需要前后端联调的,需要自己实现后端接口自己也是从零开始写组件,并且写博客。所以本文章,将详细记录自己解决问题的全过程。

2301_79158740的博客 2661

【全网最细】使用Vue+Element-ui实现可插入emoj表情发布评论、回复评论、删除评论、评论区功能

【全网最细】使用Vue+Element-ui实现可插入emoj表情发布评论、回复评论,评论展示、删除评论功能!!!

m0_74052733的博客 1401

Jackblog Vue评论系统开发指南:如何实现嵌套回复与实时更新功能

Jackblog Vue评论系统开发是构建现代化博客平台的关键环节,特别是嵌套回复与实时更新功能,能够显著提升用户互动体验。本文将为您详细介绍如何在Jackblog Vue中实现高效、用户友好的评论系统,让您的博客拥有强大的社交互动能力。 ## 🎯 为什么需要评论系统? 评论系统是博客的灵魂所在,它连接了作者与读者,创造了有价值的讨论空间。Jackblog Vue的评论系统设计考虑了以下几个

gitblog_00313的博客 774
上一篇: solr框架的使用-API的使用DEMO
下一篇: laravel的使用-环境搭建
青蛙小王子
博客等级 码龄16年 239粉丝 311原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值