8 Vue-通过事件向父组件发送消息

在这里插入图片描述

8 Vue-通过事件向父组件发送消息

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>行找的皮卡丘</title>
	</head>
	<body>
		<div id="app">


		</div>

	</body>
	<script type="text/javascript" src="js/vue.min.js">

	</script>

	<script type="text/javascript">
		// 声明两个全局组件Parent  Child
		Vue.component('Child', {
			template: `
				<div>
					我是一个子组件
					<input type='text' v-model='ChildData' v-on:input='changeValue(ChildData)'/>
				</div>
			`,
			methods: {
				changeValue(val) {
					// 自定义事件childHeader一定通过$emit去触发
					// 在函数中使用$emit触发自定义的事件childHeader
					// $emit('自定义的事件名','要发送的消息')
					this.$emit('childHeader', val)
				}
			},
			props: ['ChildData'],
		})

		// 子组件往父组件传值
		// 1、在父组件绑定自定义的事件
		// 2、在子组件中触发原生的事件 在函数中使用$emit触发自定义的事件childHeader
		Vue.component('Parent', {
			data() {
				return {
					msg: "我是父组件数据"
				}
			},
			template: `
				<div>
					我是一个父组件
					<Child :ChildData='msg' @childHeader='childHeader'/>
				</div>
			`,
			methods: {
				childHeader(val) {
					console.log(val);
				}
			}
		})


		new Vue({
			el: "#app",
			data() {
				return {

				}
			},

			// 使用组件
			template: `<parent/>`,
		});
	</script>
</html>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

行走的皮卡丘

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

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

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

打赏作者

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

抵扣说明:

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

余额充值