返回顶部
首页 > 资讯 > 前端开发 > VUE >VUE父子组件通信大揭秘:你不可不知的窍门
  • 0
分享到

VUE父子组件通信大揭秘:你不可不知的窍门

Vue父子组件通信propsemit$emit$on$refs 2024-02-07 08:02:34 0人浏览 佚名
摘要

Vue父子组件通信方式 1. props props是Vue中父子组件通信最基本的方式,它允许父组件向子组件传递数据。props本质上是一个javascript对象,其中包含了要传递给子组件的数据。在父组件中,可以使用props属性来定义

Vue父子组件通信方式

1. props

props是Vue中父子组件通信最基本的方式,它允许父组件向子组件传递数据。props本质上是一个javascript对象,其中包含了要传递给子组件的数据。在父组件中,可以使用props属性来定义要传递的数据,而在子组件中,可以使用props属性来接收这些数据。

<!-- 父组件 -->
<template>
  <child-component :message="message"></child-component>
</template>

<script>
export default {
  data() {
    return {
      message: "Hello Vue!"
    }
  }
}
</script>

<!-- 子组件 -->
<template>
  <p>{{ message }}</p>
</template>

<script>
export default {
  props: ["message"]
}
</script>

2. emit

emit是Vue中父子组件通信的另一种方式,它允许子组件向父组件发送事件。在子组件中,可以使用emit方法来发送事件,而在父组件中,可以使用$on方法来监听这些事件。

<!-- 父组件 -->
<template>
  <child-component @my-event="handleMyEvent"></child-component>
</template>

<script>
export default {
  methods: {
    handleMyEvent(data) {
      console.log(data)
    }
  }
}
</script>

<!-- 子组件 -->
<template>
  <button @click="emitMyEvent">Emit Event</button>
</template>

<script>
export default {
  methods: {
    emitMyEvent() {
      this.$emit("my-event", "Hello Vue!")
    }
  }
}
</script>

3. $emit

$emit是Vue中父子组件通信的又一种方式,它与emit方法相似,但它可以直接在子组件中使用,而无需在父组件中监听事件。

<!-- 子组件 -->
<template>
  <button @click="$emit("my-event", "Hello Vue!")">Emit Event</button>
</template>

4. $on

$on是Vue中父子组件通信的另一种方式,它与$emit方法相反,它允许父组件监听子组件发出的事件。

<!-- 父组件 -->
<template>
  <child-component @my-event="$on("my-event", handleMyEvent)"></child-component>
</template>

<script>
export default {
  methods: {
    handleMyEvent(data) {
      console.log(data)
    }
  }
}
</script>

5. $refs

$refs是Vue中父子组件通信的最后一种方式,它允许父组件直接访问子组件的实例。

<!-- 父组件 -->
<template>
  <child-component ref="child"></child-component>
</template>

<script>
export default {
  mounted() {
    console.log(this.$refs.child)
  }
}
</script>

<!-- 子组件 -->
<template>
  <p>Child Component</p>
</template>

<script>
export default {
}
</script>

总结

Vue父子组件通信有五种方式:props、emit、$emit、$on和$refs。每种方式都有自己独特的用途,在不同的场景下使用不同的方式可以更加灵活和高效地实现父子组件通信。

--结束END--

本文标题: VUE父子组件通信大揭秘:你不可不知的窍门

本文链接: https://lsjlt.com/news/561716.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作