iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue父子组件之间的传参的几种方式小结
  • 764
分享到

vue父子组件之间的传参的几种方式小结

vue父子组件传参vue父子传参 2023-05-18 05:05:27 764人浏览 独家记忆
摘要

目录Propsemitprovide/injectparent/$children属性Props 这是最常用的一种方式。通过props选项,在父组件中传递数据给子组件。在子组件中使用

Props

这是最常用的一种方式。通过props选项,在父组件中传递数据给子组件。在子组件中使用props声明该属性,就可以访问到父组件传递过来的数据了。

在父组件中:

<template>
  <ChildComponent :message="hello"></ChildComponent>
</template>
<script>
import ChildComponent from './ChildComponent.Vue';
export default {
  components: {
    ChildComponent
  },
  data() {
    return {
      hello: 'Hello, Vue!'
    }
  }
}
</script>

在子组件中:

<template>
  <div>{{ message }}</div>
</template>
<script>
export default {
  props: ['message']
}
</script>

emit

子组件向父组件传递数据的方式。在子组件中使用emit方法触发一个自定义事件,并通过参数传递数据。在父组件中监听这个事件,就可以访问到子组件传递过来的数据了。

首先,在子组件ChildComponent中定义一个customEvent事件:

<template>
  <button @click="handleClick">传递数据</button>
</template>
<script>
export default {
  methods: {
    handleClick() {
      const data = "Hello, World!"
      this.$emit('customEvent', data);
    }
  }
}
</script>

上面代码中,我们定义了一个点击事件handleClick,当用户点击按钮时,会触发这个事件。在事件处理函数中,我们定义了一个字符串变量data,并通过this.$emit(‘customEvent’, data)方式把这个变量传递给父组件。

接下来,在父组件ParentComponent中通过v-on:或者简写成@来监听子组件发出的自定义事件:

<template>
  <div>
    <child-component @customEvent="handleCustomEvent"></child-component>
  </div>
</template>
<script>
import ChildComponent from '@/components/ChildComponent.vue'
export default {
  components: {
    ChildComponent
  },
  methods: {
    handleCustomEvent(data) {
      console.log(data)
    }
  }
}
</script>

上面代码中,我们使用@customEvent="handleCustomEvent"语法来监听子组件发出的自定义事件。在父组件的methods选项中,我们定义了handleCustomEvent方法,并接收子组件传递过来的数据。当子组件调用this.$emit(‘customEvent’, data)时,该方法会被触发,在控制台输出子组件传递过来的数据。

provide/inject

这种方式允许祖先组件向后代组件注入依赖,避免了props层层传递的麻烦。在祖先组件中使用provide选项提供一个变量或者方法,在后代组件中使用inject选项注入这个变量或者方法即可在后代组件中使用。

parent/$children属性

可以直接访问父组件或子组件中的数据或方法。但是,这种方式可能会使得组件难以维护和复用,不太建议使用。

总的来说,Props和emit是Vue中最常用的父子组件之间传递数据的方式。而provide/inject和parent/$children则是一些特殊场景下才会用到的方式

到此这篇关于vue父子组件之间的传参的几种方式小结的文章就介绍到这了,更多相关vue父子组件传参内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: vue父子组件之间的传参的几种方式小结

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

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

  • 微信公众号

  • 商务合作