组件之间的常见传值方式

1.父子传值:$emit 和 props ;

  • 在父组件中子组件标签上,通过自定义属性传递变量 在子组件中 通过 props 接受
  • 在父组件使用子组件的标签上定义一个自定义事件,在子组件里通过 this.$emit 去调用这个自定义事件 $emit 方法的第一个参数是自定义事件的名字 第二个参数是就是子组件要传递给父组件的变量 最后在父组件接收使用就可以了,

2.兄弟组件

  • 兄弟组件之间的数据传递,通过 eventBus 来做中间的桥梁,传输方通过 1传数据,接收方通过 Bus.$on('自定义事件名', callback)接收数据,两者之间的自定义属性名保持一致

3.Vuex 数据共享

  • 通过 Vuex 存储数据,Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理数据,以相应的规则保证状态以一种可预测的方式发生变化,一变全变,同步更新数据

4.通过refs传输数据

ref 引用可以作用在 h5 标签上,也可作用在组件标签上,作用在 h5 标签上是获取的是 DOM 对象, 作用在组件标签上,通过this.$refs获取的是组建实例对象

5.v-model

通过 v-model 双向数据绑定也可以实现组建之间的传值,v-model 是value 和 @input 事件的合写, 也能绑定到组件上

6.provide 和 inject

父组件通过 provide 定义变量 ,子组件中通过 inject 调用变量,不管有几层子组件 都能通过 inject 来调用 provide 的数据 , 但是这个数据是不响应的

7.$parent和$children
在子组件内可以直接通过$parent对父组件进行操作,在父组件内可以直接通过$children 对子组件进行操作
在父组件调用子组件时候要加下标也就是$children 是一个数组 因为可以有很多个子组件

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值