Vue中如何实现父子组件数据双向绑定
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,这篇文章将为大家详细讲解有关Vue中如何实现父子组件数据双向绑定,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。实现思路:父 向 子 组件传值:使用 props 属性
千家信息网最后更新 2025年02月23日Vue中如何实现父子组件数据双向绑定1、父向子传值
这篇文章将为大家详细讲解有关Vue中如何实现父子组件数据双向绑定,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
实现思路:
父 向 子 组件传值:使用 props
属性。( props
是property
[属性] 的复数简写 )
子 向 父 组件传值:使用自定义事件。
一、父子组件单向传值
1、父向子传值
父向子组件传值,子组件接收到数据之后,保存到自己的变量中。
//父组件写法//子组件定义以及数据 components:{ cld:{ template:'#child', props:{ numP:Number }, } } //子组件内容 {{ numP }}
props 用于接收父组件传过来的值,props 的写法有很多种,具体如:
//方式1 : 直接接收数据 props: [ 'numP' ] //方式2: 加类型限制 props: [ numP: Number ] //方式3:添加默认值 props: [ numP: { type:Number, default:0 } ] //方式4:是否必须值限制 props: [ numP: { type:Number, default:0, require:true //添加必须值,不传此值会报错 } ] //方式5:采用对象形式 props: { numP: { type:Number, default:0, } }
2、子向父传值
子向父组件传值,主要通过自定义事件进行传值,具体实例如下:
// 父组件内容子组件获取到的数据{{getNum}}//父组件方法 methods:{ getNumC(data){ this.getNum = data //接收子组件传的数据 } }, //子组件定义 components:{ cld:{ template:'#child', data(){ return{ numC:1314 //子组件数据定义 } }, mounted(){ this.$emit( 'accept' , this.numC ) // 触发自定义事件 } } },
二、父子组件数据双向绑定
Vue
的数据都是单向流动的,而且 vue
中从来就没有任何的双向绑定,v-model
实现的双向绑定只是语法糖而已。
方式1:利用 watch
实现父子组件的数据双向绑定,具体实例如下:
数据//子组件内容
{{num}}
数据const app = new Vue({ el:'#app', data:{ num:'520', }, methods:{ getNumC(data){ this.num = data } }, components:{ cld:{ template:'#child', props:{ numb:String }, data(){ return{ childNum:0, } }, watch:{ numb:function(){ this.childNum = this.numb }, childNum:function(){ this.$emit('accept',this.childNum) } }, mounted(){ this.childNum = this.numb } } } })
{{childNum}}
方式2:.sync
修饰符实现双向绑定
在vue 1.x 中的 .sync 修饰符所提供的功能。当一个子组件改变了一个带 .sync 的 prop 的值时,这个变化也会同步到父组件中所绑定的值。这很方便,但也会导致问题,因为它破坏了单向数据流。(数据自上而下流,事件自下而上走)
//会扩展为: bar = val"/>
当组件需要更新 numb 的值时,需要触发更新事件:
this.$emit("update:numb", newValue );
使用具体实例如下:
// 父组件//子组件 props: ['foo'], data() { return { newFoo: this.foo; } }, methods:{ add:function(){ this.newMsg=10; this.$emit('update:foo',this.newFoo); } }
关于"Vue中如何实现父子组件数据双向绑定"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
组件
数据
双向
方式
父子
事件
内容
单向
实例
篇文章
写法
属性
更多
更新
限制
不错
实用
个子
功能
变量
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
金山云服务器域名设置
一些科学数据库
贵州的网络安全竞赛
excel追加表页数据库
t730 服务器管理软件
阿里云学生服务器免费吗
上海尧昌互联网科技有限公司
上海宝山网络安全支队
管理软件开发哪家专业
数据库加密和数据加密存储
戴尔服务器如何关闭安全模式
科技类互联网是什么意思
qms软件开发企业怎么审
数据库中主属性是什么
a开头数据库文件
网络技术专业迎新横幅
联想服务器怎么远程bios
我的世界工业服务器
服务器怎么看网站管理员
dhcp服务器的构建
相册里的数据库可以删除吗
北京华为服务器维修费用
网络安全反诈骗演讲
广州软件开发框架
系统后台数据库类型
电厂网络安全区
赢通母婴版数据库连接设置
如何制作服务器pe工具
银河超算服务器
眼镜行业软件开发的技术优势