vue数据同步(sync修饰符)

2024-08-23 13:44

本文主要是介绍vue数据同步(sync修饰符),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、描述

        本文描述的数据同步,是基于父子组件进行传递的参数实现。实现的内容是:子组件里面选择框,选择的对象可以传递给父组件,但一般涉及到子传父,可能会考虑使用$emit然后通过在父组件身上绑定一个自定义方法,通过子组件去emit触发这个事件,传递参数,但是这里不使用这种,新学了一种,数据同步的方式,也就是在子组件选择的数据,可以同步在父组件中。

二、使用sync修饰符

例子:

比如在父组件有一个子组件:

<Sonref="son":selection-items.sync="selectionItems"@search="search"
>

子组件:

子组件中从选择框选择之后拿到数据触发的事件:

select(items) {console.log({ items })this.selections = items this.$emit('update:selectionItems', items)   //更新数据同步
},
this.$emit('update:selectionItems', items): 发出一个事件通知父组件更新 selectionItems。
:selection-items.sync="selectionItems"
这里使用了 .sync 修饰符,这意味着任何从子组件发出的更新都会自动更新父组件中的 selectionItems 值。

        随便在父组件其他地方绑定一个事件,看看有没有获取到从子组件里面获取到的值,因为要拿选择的值过来父组件这边使用。

<span class="handle-btn" @click="delMore">批量删除</span>delMore() {console.log("more",this.selectionItems) //有数据},

三、为什么能够同步,只是一个修饰符,加子组件emit,undate更新一下的事情?

  1. sync 修饰符: 使用 .sync 可以让数据在父子组件之间双向绑定,便于在子组件中修改后,父组件可以实时接收到变化。

  2. 事件发射: select 被调用并且 this.$emit('update:selectionItems', items) 被执行时,父组件会自动接收到这个事件并更新 selectionItems 的值。

  3. 响应式系统: Vue.js 的响应式系统使得数据的变化能够被自动追踪和更新。当 selectionItems 在父组件中发生变化时,所有使用该属性的地方都会重新渲染。

就这样就实现了共享状态,而不用绑定自定义事件。

这篇关于vue数据同步(sync修饰符)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1099548

相关文章

html 滚动条滚动过快会留下边框线的解决方案

《html滚动条滚动过快会留下边框线的解决方案》:本文主要介绍了html滚动条滚动过快会留下边框线的解决方案,解决方法很简单,详细内容请阅读本文,希望能对你有所帮助... 滚动条滚动过快时,会留下边框线但其实大部分时候是这样的,没有多出边框线的滚动条滚动过快时留下边框线的问题通常与滚动条样式和滚动行

Linux实现线程同步的多种方式汇总

《Linux实现线程同步的多种方式汇总》本文详细介绍了Linux下线程同步的多种方法,包括互斥锁、自旋锁、信号量以及它们的使用示例,通过这些同步机制,可以解决线程安全问题,防止资源竞争导致的错误,示例... 目录什么是线程同步?一、互斥锁(单人洗手间规则)适用场景:特点:二、条件变量(咖啡厅取餐系统)工作流

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python数据分析与可视化的全面指南(从数据清洗到图表呈现)

《Python数据分析与可视化的全面指南(从数据清洗到图表呈现)》Python是数据分析与可视化领域中最受欢迎的编程语言之一,凭借其丰富的库和工具,Python能够帮助我们快速处理、分析数据并生成高质... 目录一、数据采集与初步探索二、数据清洗的七种武器1. 缺失值处理策略2. 异常值检测与修正3. 数据

pandas实现数据concat拼接的示例代码

《pandas实现数据concat拼接的示例代码》pandas.concat用于合并DataFrame或Series,本文主要介绍了pandas实现数据concat拼接的示例代码,具有一定的参考价值,... 目录语法示例:使用pandas.concat合并数据默认的concat:参数axis=0,join=

C#代码实现解析WTGPS和BD数据

《C#代码实现解析WTGPS和BD数据》在现代的导航与定位应用中,准确解析GPS和北斗(BD)等卫星定位数据至关重要,本文将使用C#语言实现解析WTGPS和BD数据,需要的可以了解下... 目录一、代码结构概览1. 核心解析方法2. 位置信息解析3. 经纬度转换方法4. 日期和时间戳解析5. 辅助方法二、L

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键

解决mysql插入数据锁等待超时报错:Lock wait timeout exceeded;try restarting transaction

《解决mysql插入数据锁等待超时报错:Lockwaittimeoutexceeded;tryrestartingtransaction》:本文主要介绍解决mysql插入数据锁等待超时报... 目录报错信息解决办法1、数据库中执行如下sql2、再到 INNODB_TRX 事务表中查看总结报错信息Lock