Vue 关于$emit与props的使用

发布时间:2023-08-09 10:00

一、props 和 $emit

1、子组件向父组件传值,通过$emit 事件向父组件发送消息,将自己的数据传递给父组件。

2、props 可以在组件上注册一些自定义属性。父组件通过绑定该属性来向子组件传入数据,子组件通过 props 属性获取对应数据。

二、示例

1.父组件

// parent.vue
<template>
	<div>
      	<p>childMessage: {{childMessage}}</p>
      	<children :sendmessage=\'childMessage\' @showMsg=\"updataMsg\"></children>
	</div>
</template>

import children from \'/*...*/\'

export default{
	data () {
		return {
			childMessage: \'父组件给子组件传值\'
		}
	},
	methods: {
		updataMsg(message) {
			this.childMessage = message
			console.log(this.childMessage)
		}
	},
	components: {
		children
	}
}

2.子组件

// children.vue
<template>
	<div>
		// 通过按钮点击事件将子组件的值传给父组件
	    <button @click=\"sendtoParent\">Click this Button</button>
	</div>
</template>

<script>

export default {
  props: [\'sendmessage\'],
  methods: {
  	sendtoParent() {
  		//$emit括号里的第一个参数为自定义事件
  		this.$emit(\'showMsg\',\'子组件通过$emit给父组件传值\')
  	}
  }
}
</script>

结果展示

父子组件通信之前

\"Vue

父子组件通信之后


\"在这里插入图片描述\"

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号