Vue组件传值


一、父组件 传 子组件( props )

	// 父给子绑定值
	<Swiper :title='title' :num='num'></Swiper>
	
	// 子接收,直接使用 {{ title }} {{ num}}
	export default{
	1、  props: ['title','num']
	2、  props: {
			title: String,
			num: Number
		}
	}

二、子组件 传 父组件(自定义事件)

	// 子组件Child  (定义自定义事件)
	<button @click="btn">点击传值</button>
	methods: {
		btn() {
			// 参数1:自定义事件
			// 参数2:是要传递的数据
			this.$emit('changeStr', this.str)
		}
	}
	
	// 父组件
	<Child @changeStr="receiveStr"></Child>
	methods: {
		receiveStr(val){  // val:接收到的子组件数据,参数2
			this.str = val
		}
	}

三、兄弟组件传值 (bus)

	// bus.js 文件
	import Vue from 'vue';
	export default new Vue;
	
	// 兄弟A组件
	import bus from './bus'
	<button @click='clickBtn'>点击传值</button>
	methods: {
		clickBtn() {
            bus.$emit('changeMax', this.maxStr)
        }
	}
	
	// 兄弟B组件
	import bus from './bus'
	created() {
      bus.$on('changeMax', (res) => {
        console.log(res);
      })
    },
    beforeDestroy() {
      bus.$off('changeMax');
    },
	
	// 全局配置bus ---------------------------------
	// main.js中加入
	const bus = new Vue()
	Vue.prototype.$bus = bus;
	//使用
	this.$bus.$emit
	this.$bus.$on
	this.$bus.$off
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值