vue 组件间的五大传值

五大组件传值

1、父组件向子组件传值

  • 父组件:
    直接在引入的组件中 :id="id"
    在这里插入图片描述
  • 子组件:
    在date同级的写props=['id],这是简写,最好是严格写,如下
props:{
	id:{
		type:Number/String/Array/Function等,    //类型
		default: default: function() {}或者     //默认值
		default:0 或者
		default() {
			return []
		},
		required:true                 //表示必填项
	}
}

在这里插入图片描述

  • 输出结果:
    在这里插入图片描述

2、子组件传值到父组件

  • 子组件
    组件中this.$emit('event', '这个是子组件传来的值data1')" event表示共用的函数名(自定义命名) ,$emit表示传递方法,调用就可以触发
    在这里插入图片描述
  • 父组件
    通过共用的函数名event接受,@event="recdata",event表示共用的函数名,redata表示父组件的函数名
    在这里插入图片描述
  • 输出结果
    在这里插入图片描述

3、获取父组件的值

  • 父组件
    在父组件中写ref = 'msg'
    在这里插入图片描述
  • 子组件
    我们直接可以获取父组件传过来的值this.$parent.msg
    在这里插入图片描述
  • 输出结果
    在这里插入图片描述

4、获取子组件的值

  • 子组件
    不需要触发
    在这里插入图片描述

  • 父组件
    在组件中ref="myson" 然后直接可以通过this.$refs.myson.msg获得子组件的值
    在这里插入图片描述

  • 输出结果
    在这里插入图片描述

5、任意组件的传值

分为接受方和发送方
准备工作:新建一个总线文件bus.js 写入 const Bus = new Vue()
当然,如果你很懒,你直接把总线放入Vue 实例中
在这里插入图片描述

  • 发送方:
    调用把值传递给总线Bus.$emit('resmsg1', '这个是兄弟之间的传值');
    在这里插入图片描述
    如果你是把总线放入vue实例中,那么直接this.$root.Bus.$emit('resmsg1', '这个是兄弟之间的传值')
    在这里插入图片描述
  • 接收方
    Bus.$on('resmsg1', function(msg1) {}
    在这里插入图片描述
    如果你是把总线放入vue实例中,那么直接this.$root.Bus.$on('resmsg1', function(msg1) {}
    在这里插入图片描述
  • 输出结果
    在这里插入图片描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值