vue3父子传值的方法

2025-04-01 0 5

Image

《vue3父子传值的方法》

在Vue3项目开发中,父子组件之间的传值是常见的需求。对于父组件向子组件传值,可以通过Props的方式;子组件向父组件传值可以利用自定义事件或者provide / inject等。

父组件向子组件传值

使用Props

这是最基础也是最常用的方式。在父组件中定义数据,并通过属性绑定的形式将数据传递给子组件。

父组件代码:
```html

import { ref } from 'vue'
import ChildComponent from './ChildComponent.vue'

const parentMessage = ref('Hello from parent')

</p>

<p><strong>子组件代码:</strong>
```html

  <div>
    {{ message }}
  </div>
</p>


defineProps({
  message: {
    type: String,
    required: true
  }
})


<p>

子组件向父组件传值

自定义事件

子组件触发事件,父组件监听该事件并接收传过来的值。

子组件代码:
```html

import { defineEmits } from 'vue'

const emit = defineEmits(['childEvent'])

function sendToParent(){
emit('childEvent','message from child')
}

</p>

<p><strong>父组件代码:</strong>
```html

  <div>
    
  </div>
</p>


import ChildComponent from './ChildComponent.vue'

function handleChildEvent(value){
  console.log(value) // 打印出子组件传来的值
}


<p>

provide / inject

适用于多层级组件间传值。父组件通过provide提供数据,子孙组件通过inject注入使用。

父组件代码:
```html

import { provide,ref } from 'vue'
import ChildComponent from './ChildComponent.vue'

const parentData = ref('data from parent')

provide('providedData',parentData)

</p>

<p><strong>子孙组件代码:</strong>
```html

  <div>
    {{ injectedData }}
  </div>
</p>


import { inject } from 'vue'

const injectedData = inject('providedData')


<p>

以上就是Vue3中父子组件传值的一些方法,根据实际项目需求选择合适的方式即可。

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!cheeksyu@vip.qq.com
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有积分奖励和额外收入!
5.严禁将资源用于任何违法犯罪行为,不得违反国家法律,否则责任自负,一切法律责任与本站无关

源码下载