当前位置: 首页 > news >正文

Vue3中组件数据的传递以及更改

        Vue3中组件数据的传递以及更改,包括:父子组件之间的数据传递以及数据更改,子孙组件的数据传递以及更改

一、父子组件传递

        子组件接收父组件数据

        主要通过props来接收,然后进行使用

 父组件传递数据:

<Child :data="1111"></Child>

子组件通过props进行数据接收:

 props:{
    data:{
        type:String
    }
  },

        子组件修改父组件数据

在vue中组件内的数据只能在当前组件内进行更改,单向数据流模式,所以当子组件进行父组件的数据时,我们一般通过在父组件自定义一个方法,在子组件中去触发父组件方式,从而实现数据的更改。

在父组件定义方法,将方法传递给子组件:

<Child :data="data" @changData="changData"></Child>

主要通过setup里面第二个参数context上下文属性进行实现:

触发父组件传递过来的数据,可以传递参数

setup(props,context) {
    let childData = ref("我是父组件数据");
    const test=()=>{
        context.emit('changData','1')
    }
    return {
      childData,
      test
    };
  },

二、祖先组件之间的数据传递

        首先,不得不承认通过上述的父子组件通信方法也能实现祖孙组件之后的数据传递以及更改,不过不推荐,因为这样多层传递容易导致项目难以维护,建议使用Vue3提供的provide与inject实现多层组件之间的数据传递。

通过provide传递数据

provide('data',data)

通过inject接收数据

const a=inject('data')

值得一说的是,接收到的数据是响应式的,当你进行数据的更改时,祖先组件对应的数据也会进行更改。

相关文章:

  • geoserver2.18(8):添加CSW(网络目录服务)扩展及前端开发调用
  • DOM--页面渲染流程
  • LeetCode 85双周赛(补记)
  • Apache DolphinScheduler PMC:开源不一定也要九死一生
  • SpringMVC之拦截器
  • Linux环境Docker的安装过程
  • 第四章【ADFS集成Exchang实现OWA\ECP单点登录SSO】安装Active Directory联合身份验证服务(AD联合身份验证 ADFS)
  • 公众号查题接口
  • 基于瞬态自适应的麻雀搜索算法
  • PHP 使用 PhpSpreadsheet
  • Pytorch获取特征图
  • yaml文件格式说明及编写教程
  • java计算机毕业设计能源类网站平台源码+系统+数据库+lw文档+mybatis+运行部署
  • 个人做量化交易一定不靠谱?
  • 迅为RK3588开发板编译环境Ubuntu20.04编译配置-增加交换内存
  • 345-反转字符串中的元音字母
  • ERLANG 网工修炼笔记 ---- UDP
  • If…else
  • JavaScript-Array类型
  • Java反射-动态类加载和重新加载
  • JDK 6和JDK 7中的substring()方法
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • mysql innodb 索引使用指南
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • Python十分钟制作属于你自己的个性logo
  • Rancher如何对接Ceph-RBD块存储
  • Spark学习笔记之相关记录
  • SpiderData 2019年2月13日 DApp数据排行榜
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 讲清楚之javascript作用域
  • 前端面试总结(at, md)
  • 我的面试准备过程--容器(更新中)
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • - 转 Ext2.0 form使用实例
  • 湖北分布式智能数据采集方法有哪些?
  • #git 撤消对文件的更改
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • $L^p$ 调和函数恒为零
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (区间dp) (经典例题) 石子合并
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (五)Python 垃圾回收机制
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • .gitignore文件_Git:.gitignore
  • .java 9 找不到符号_java找不到符号
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .Net CF下精确的计时器
  • .NET Core 项目指定SDK版本
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .netcore 如何获取系统中所有session_如何把百度推广中获取的线索(基木鱼,电话,百度商桥等)同步到企业微信或者企业CRM等企业营销系统中...
  • .net解析传过来的xml_DOM4J解析XML文件
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • .NET企业级应用架构设计系列之技术选型