组件案例-实现评论的发表和自动刷新列表|学习笔记

简介: 快速学习组件案例-实现评论的发表和自动刷新列表

开发者学堂课程【Vue.js 入门与实战组件案例-实现评论的发表和自动刷新列表】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/586/detail/8188


组件案例-实现评论的发表和自动刷新列表


本节主要制作当用户发表评论之后,列表如何从 local storage 中获取。理论上,在页面显示的第一时间,立刻从本地存贮当中调用,并显示到第一条,替换其他数据,此时需要通过以下代码定义方法:

methods:{

locadComments() { //从本地的 localStorage 中加载评论列表

var list =JSON.parse(localStorage.getItem(‘cmts’)’[]’)

this.list=list

此时刷新浏览,发现并不能执行。原因在于,当前的 loadComments 只是被定义成了一个方法,并没有被调用。

beforeCreate(){ //注意:这里不能调用 loadComments 方法,因为在执行这个钩子函数的时候, data 和 methods 都还没有被初始化好},created(){  this.loadComments()},

此时,刷新执行,已经可以正常使用。但仍旧有问题,问题在于,发表评论不会自动刷新,而需要手动刷新。此时需要如下代码执行:

//this.loadComments()  

//直接写可以么?不行!因为 loadComments 属于 vm 实例,是相对于父组件有这个方法,而发表评论和按钮是子组件,子组件是无法调用父组件的刷新列表方法的。

列表 vm 实例有 loadComments 这个方法,这个方法可以刷新列表,而父组件是不知道什么时候需要刷新列表的,原因在于刷新列表在子组件,所以父组件只有刷新列表的方法,而不明确调用列表的时间。

子组件有发表评论按钮,子组件可以明确刷新列表的时间,但是没有刷新列表的功能。

所以需要 vm 需要把刷新列表的功能委托给子组件,让子组件在合格的时间,帮助父组件调用刷新列表的功能。

也就是说,父组件怎么把刷新列表的方法能够传递给子组件,这就需要通过时间绑定来实现。代码如下:

<cmt-box@func=”loadComments”></cmt-box>this.$emit(‘func’)}}

此时保存,输入内容,发现已经可以自主刷新最新评论。

相关文章
|
2月前
|
存储 JSON 对象存储
零门槛玩转向量引擎!阿里云 Milvus 无代码全流程实操指南
阿里云Milvus版是企业级向量引擎,支持非结构化数据语义检索。全托管架构、开源兼容,助力智能驾驶、电商推荐、智能客服等场景实现毫秒级精准匹配,无代码操作让AI落地更高效。
272 0
|
SQL 存储 Java
Hive【Hive(八)自定义函数】
Hive【Hive(八)自定义函数】
|
安全 Java 开发者
强大!Spring Cloud Gateway新特性及高级开发技巧
在微服务架构日益盛行的今天,网关作为微服务架构中的关键组件,承担着路由、安全、监控、限流等多重职责。Spring Cloud Gateway作为新一代的微服务网关,凭借其基于Spring Framework 5、Project Reactor和Spring Boot 2.0的强大技术栈,正逐步成为业界的主流选择。本文将深入探讨Spring Cloud Gateway的新特性及高级开发技巧,助力开发者更好地掌握这一强大的网关工具。
689 6
|
JavaScript 前端开发 API
vue和react对比
【7月更文挑战第12天】 Vue和React是前端两大主流框架,各具特色。Vue以其简单API、双向绑定、模板语法和组件化开发吸引开发者,适合快速开发和新手。它的生态系统包括Vuex和Vue Router等。React以虚拟DOM、高性能、组件化和灵活性著称,大型项目和复杂应用常选React,且有庞大社区和丰富的第三方库。选择取决于项目需求、团队技能和未来扩展性。
280 3
|
开发者 C# C++
揭秘:如何轻松驾驭Uno Platform,用C#和XAML打造跨平台神器——一步步打造你的高性能WebAssembly应用!
【8月更文挑战第31天】Uno Platform 是一个跨平台应用程序框架,支持使用 C# 和 XAML 创建多平台应用,包括 Web。通过编译为 WebAssembly,Uno Platform 可实现在 Web 上运行高性能、接近原生体验的应用。本文介绍如何构建高效的 WebAssembly 应用:首先确保安装最新版本的 Visual Studio 或 VS Code 并配置 Uno Platform 开发环境;接着创建新的 Uno Platform 项目;然后通过安装工具链并使用 Uno WebAssembly CLI 编译应用;最后添加示例代码并测试应用。
490 0
|
SQL 关系型数据库 数据库
实时计算 Flink版产品使用合集之同步PostgreSQL数据时,WAL 日志无限增长,是什么导致的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
开发工具
代码重构之重复代码处理
介绍使用IDEA去重构重复的代码块
代码重构之重复代码处理
|
自然语言处理 Python
Python实现词频统计
Python实现词频统计
|
JavaScript
Vue.js常见错误处理包含代码
@[TOC](目录) 以下是 Vue.js 中常见的错误,以及相应的处理方法和代码示例: 1. 语法错误 错误信息:`Error: [vm] &quot;name&quot; is not defined` 解决方法:确保组件的 data 中定义了相同的属性。 示例代码: ```html &lt;template&gt; &lt;div&gt; &lt;p&gt;{{ name }}&lt;/p&gt; &lt;/div&gt; &lt;/template&gt; &lt;script&gt; export default { data() { return { name: &#39;Hello&#39;, }; }, };
390 0
|
算法
N-S图详解
N-S图详解
1450 0