首页 > 其他分享 >一文读懂sync的基本知识

一文读懂sync的基本知识

时间:2024-07-15 16:10:33浏览次数:13  
标签:基本知识 sync 更新 update 读懂 parentData 组件 data

在Vue.js中,sync修饰符是一种便捷的方式,用于在父组件和子组件之间实现双向绑定

可以简化子组件向父组件传递数据的操作,避免显式地触发事件和处理自定义事件

基本的作用如下:

当在子组件的属性上使用sync修饰符时,Vue会自动将子组件的update:propName事件映射到父组件的propName属性更新,之后子组件内部可以通过触发update:propName事件来修改父组件的属性值,实现双向绑定效果

基本的语法如下:

<child-component :prop.sync="parentProp"></child-component>

子组件触发更新事件:

this.$emit('update:prop', newValue);

通过Demo深入了解其用法:

Demo1

父组件如下:

<template>
  <div>
    <h1>父组件</h1>
    <p>父组件的数据: {{ parentData }}</p>
    <!-- 使用sync修饰符 -->
    <child-component :data.sync="parentData"></child-component>
  </div>
</template>

<script>
import ChildComponent from './ChildComponent.vue';

export default {
  components: {
    ChildComponent,
  },
  data() {
    return {
      parentData: '初始数据',
    };
  },
};
</script>

子组件如下:

<template>
  <div>
    <h2>子组件</h2>
    <p>子组件接收到的数据: {{ data }}</p>
    <button @click="updateData">更新数据</button>
  </div>
</template>

<script>
export default {
  props: {
    data: String,
  },
  methods: {
    updateData() {
      // 触发update事件,更新父组件的数据
      this.$emit('update:data', '子组件更新后的数据');
    },
  },
};
</script>

解读如下:

父组件:
定义一个parentData数据,并将其通过:data.sync传递给子组件
:data.sync="parentData"表示父组件的parentData数据与子组件的data属性是双向绑定的

子组件:
子组件接收父组件传递的data属性
当子组件内部需要更新data的值时,通过触发this.$emit('update:data', newValue)来通知父组件更新parentData
在这个示例中,点击按钮时,子组件会触发update:data事件,并将新的数据 '子组件更新后的数据' 作为参数传递给父组件

数据同步:
当子组件触发update:data事件时,Vue会自动将这个事件映射为对父组件parentData的更新
点击子组件的按钮后,父组件的parentData数据会被更新,界面也会随之变化,显示最新的数据

Demo2

父组件传值:普通用法与同步用法

父组件:

子组件:

 

标签:基本知识,sync,更新,update,读懂,parentData,组件,data
From: https://www.cnblogs.com/guwufeiyang/p/18303345

相关文章

  • 一文带你读懂什么是独立IP
    一、什么是独立IP独立IP,就是给你的网站或服务器分的一个单独的“门牌号”,这个“门牌号”只属于你,别人不能用,也不能跟你共享。就像你的小院子,只有你有钥匙,别人进不来。二、为什么要用独立IP?1、更显身份:有了独立IP,你的网站就像是社区里那个有头有脸的人,别人一看就知道你是有实......
  • [ABC339D]Synchronized Players
    题目大意给定一个N*N的地图,地图中#表示不能走,地图上有两个人,两个人每次走的方向都相同,每次只能向相同的方向走,,问最少几步就能相遇?题解这个题一看就是搜索,广搜,刚开始我陷入一个误区,让两个人分开记录状态,这个时候有个问题,当一个人能走,另一个人不能走的时候,步数就不同步,这个问题就......
  • 一文读懂Java线程池之线程复用原理
    什么是线程复用在Java中,我们正常创建线程执行任务,一般都是一条线程绑定一个Runnable执行任务。而Runnable实际只是一个普通接口,真正要执行,则还是利用了Thread类的run方法。这个rurn方法由native本地方法start0进行调用。我们看Thread类的run方法实现/*Whatwillberun.......
  • Cuda编程:__syncthreads运行时API在访问共享内存时的使用
    该运行时API的作用作为在访问共享内存时作为线程块内的同步机制出现,保证同一线程块内所有线程到程序运行到这个运行时API调用时都能运行完毕(注意,该API不能同步不同线程块内的线程),例如下列Cuda静态共享内存使用代码示例程序中的第23行所示:/*************************************......
  • 知识图谱数据库基本知识
    文章目录知识图谱数据模型知识图谱查询语言    随着知识图谱规模的日益增长,数据管理愈加重要。一方面,以文件形式保存的知识图谱显然无法满足用户的查询、检索、推理、分析及各种应用需求;另一方面,传统数据库的关系模型与知识图谱的图模型之间存在显著差异,关......
  • Html5前端基本知识整理与回顾上篇
    今天我们结合之前上传的知识资源来回顾学习的Html5前端知识,与大家共勉,一起学习。目录介绍了解注释标签结构排版标签标题标签​编辑段落标签​编辑换⾏标签​编辑⽔平分割线⽂本格式化标签媒体标签绝对路径相对路径音频标签格式​编辑注意点视频标签格......
  • python制作甘特图的基本知识(附Demo)
    目录前言1.matplotlib2.plotly前言甘特图是一种常见的项目管理工具,用于表示项目任务的时间进度直观地看到项目的各个任务在时间上的分布和进度常用的绘制甘特图的工具是matplotlib和plotly主要以Demo的形式展示1.matplotlib功能强大的绘图库,适合制作静态......
  • 《穿透财报:读懂财报中的逻辑与陷阱》
    《逆向投资 邓普顿的长赢投资法》的后面五章《面对泡沫:拿出卖空的勇气》《在危机中寻找时机》《关注长期前景,发现历史规律》《债券:长期投资的首选》《投资中国:巨龙从沉睡中觉醒》读下来完全没有什么感触,也没什么读后感好写。不知道是劳伦不如林奇,还是我心里已经打上了这样的标......
  • 数组的基本知识
    数组的定义数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。(从0开始)数组声明创建首先必须声明数组变量,才能在程序中使用数组。下面是声明数组......
  • 轻松掌握useAsyncData获取异步数据
    title:轻松掌握useAsyncData获取异步数据date:2024/7/12updated:2024/7/12author:cmdragonexcerpt:摘要:本文详细介绍Nuxt.js中的useAsyncData组合式函数,它用于在服务端渲染(SSR)过程中异步获取数据,确保客户端正确水合,避免重复请求。内容包括基本概念、参数说明(key,ha......