组件通信的方式



一、父传子

在父组件中给子组件标签上绑定一个属性(属性=属性值), 属性上挂载需要传递的值
在子组件通过props:[“自定义属性名”]来接收数据

props 接收数据的方式有两种:数组形式和对象形式


二、子传父

(1)在父组件中给子组件标签绑定一个自定义事件,给这个事件挂载需要调用的方法
(2)在子组件的方法通过this.$emit(‘自定义事件名’,“要传递给父组件的数据”)来调用


三、兄弟组件之间传值

(1). 创建一个空的vue实例eventBUS,将其挂载到vue原型上
Vue.prototype.$bus = new Vue()
(2)通过this.$bus.$emit(‘事件名’,‘要传递出的数据’)传到空的vue实例中
(3)通过this.$bus.$on(‘事件名’,(参数)=>{挂载从兄弟组件传来的数据})来接收

注意: 一定要用箭头函数 来让this 指向外面的组件实例


  1. 父传子

  2. 子传父

  3. 兄弟组件传值

  4. 利用 vuex 进行组件通信 把公共的数据存在 vuex 里 就可以实现组件之间都能使用这个数据了

  5. v-model 也能实现组件通信 因为 v-model 就是 :value 和 @input 事件的合写
    如果在一个子组件上使用 v-model 也能实现父子组件之间的通信

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值