vue组件间传值和调用方法

一、父子组件

1、如何传参

1)父组件向子组件传参

方法一:props

  • 父组件
    在这里插入图片描述
  • 子组件
    在这里插入图片描述
    方法二:$children
    父组件
this.msg2=this.$children[0].msg

2)子组件向父组件传参

方法一:$emit

  • 父组件

在这里插入图片描述

  • 子组件
    在这里插入图片描述
    方法二:$parent
    子组件
this.msg22 = this.$parent.msg2;

2、如何调用方法

1)父组件触发子组件方法

$emit$on
父组件
在这里插入图片描述
子组件
在这里插入图片描述

2)子组件触发父组件方法

方法一:this.$parent.event
父组件
在这里插入图片描述
子组件
在这里插入图片描述

方法二:$emit
父组件
在这里插入图片描述
子组件
在这里插入图片描述
方法三:props
父组件
在这里插入图片描述
子组件
在这里插入图片描述

二、非父子组件

方法一:创建一个公用的 bus (vue 实例)
main.js文件
在这里插入图片描述
发送组件一
在这里插入图片描述
接收组件二
在这里插入图片描述
方法二:vuex
store/index文件
在这里插入图片描述
组件中使用:

this.$store.state.name

修改:

handleNameClick (name) {
    this.$store.dispatch('changeName', name)       
    //派发一个名字叫 changeName 的 Actions,并把 name 传过去
}

//或者
handleNameClick (name) {
    this.$store.commit('changeName', name)        
    //派发一个名字叫 changeName 的 mutation,并把 name 传递过去。
    //所以上面的 store 里可以把 Actions 给删除了。
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

守望黑玫瑰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值