vue父子组件通信
vue父子组件通信方式有哪些?我们一起了解一下吧!
vue父子组件通信方式有Prop,$emit、$attrs 、 $listeners、provide 、 inject ,sync语法糖和一些其他方式。以下是常用通信方式的具体介绍。
1、prop
这个在我们日常开发当中用到的非常多。简单来说,我们可以通过 Prop 向子组件传递数据。用一个形象的比喻来说,父子组件之间的数据传递相当于自上而下的下水管子,只能从上往下流,不能逆流。这也正是 Vue 的设计理念之单向数据流。而 Prop 正是管道与管道之间的一个衔接口,这样水(数据)才能往下流。
2、$emit
官方说法是触发当前实例上的事件。附加参数都会传给监听器回调。
大致逻辑如下:当我在页面上点击按钮时,触发了组件 MyButton 上的监听事件 greet,并且把参数传给了回调函数 sayHi 。说白了,当我们从子组件 Emit(派发) 一个事件之前,其内部都提前在事件队列中 On(监听)了这个事件及其监听回调。
3、.sync 修饰符
在 vue@1.x 的时候曾作为双向绑定功能存在,即子组件可以修改父组件中的值。因为它违反了单向数据流的设计理念,所以在 vue@2.0 的时候被干掉了。但是在 vue@2.3.0+ 以上版本又重新引入了这个 .sync 修饰符。但是这次它只是作为一个编译时的语法糖存在。它会被扩展为一个自动更新父组件属性的 v-on 监听器。说白了就是让我们手动进行更新父组件中的值了,从而使数据改动来源更加的明显。
4、$attrs
包含了父作用域中不作为 prop 被识别 (且获取) 的特性绑定 (class 和 style 除外)。当一个组件没有声明任何 prop 时,这里会包含所有父作用域的绑定 (class 和 style 除外),并且可以通过 v-bind="$attrs" 传入内部组件——在创建高级别的组件时非常有用。
5、$listeners
包含了父作用域中的 (不含 .native 修饰器的) v-on 事件监听器。它可以通过 v-on="$listeners" 传入内部组件——在创建更高层次的组件时非常有用。
6、EventBus
思路就是声明一个全局Vue实例变量EventBus,把所有的通信数据,事件监听都存储到这个变量上,这样就到达在组件间实现数据共享,有点类似Vuex。
关于vue父子组件通信方式,我们就分享到这啦!
-
2022年惊蛰节气祝福问候语文案
1、日之计在于晨,惊蛰养生之于肝;夜卧早行利于性,广步中庭促身心;披发缓行顺气息,生志护体保健康。朋友,惊蛰开春,注意身体!2、春雷鸣鸣,万物复苏。惊蛰节气,告别阴霾的冬季,愿...
祝福语查看全文>> -
《我的个神啊》电影经典名句 我的个神啊电影
1、Just like you apply the photo of god on the walls, so that no one urinates there ... j...
名言查看全文>> -
发动机缺缸故障灯会不会亮?
发动机缺缸故障灯亮的。在亮起故障灯之后,应该去读取故障码。如果是缺缸,故障码可以判断是几号汽缸不工作了。汽车的发动机缺缸大部分是由于点火系统故障引起的。汽车发动机点火系统的主要...
问答查看全文>> -
旅行轿车和轿车的区别是什么?
旅行轿车和轿车的区别:1、大多数旅行车都是以轿车为基础,把轿车的后备厢加高到与车顶齐平,用来增加行李空间。小轿车的后备箱比车顶低;2、旅行车能够长途跋涉,而且空间足够大,可以携...
问答查看全文>> -
2014年年终奖什么时候发?
年终奖其实指的就是每年度企业给予公司员工不封顶的奖金,也是老板对于员工这一年来工作业绩的肯定。年终奖的发放可能是很多员工最期待的时候,因此,很多人都希望知道2014年年终奖什么...
传统查看全文>>
推荐
- 1北汽bj90是奔驰原装吗450
- 2祝福爷爷的生日祝福语(给爷爷的生日祝福语 简短独特)371
- 3更换防冻液一般需要多少升?307
- 4雷克萨斯rx是什么级别的suv390
- 52023跨年夜暖心文案句子 2022跨年文案句子419
- 6尾气检测方法是什么?395
- 7VT二代老虎修护面膜好用吗 VT二代老虎修护面膜怎么样278
- 8宝骏73016款怎么换备胎435