vue3爷孙组件通信
时间: 2023-11-08 20:02:51 浏览: 108
Vue 之孙组件向爷组件通信的实现
在 Vue3 中,可以使用 `provide` 和 `inject` 实现爷孙组件通信。具体步骤如下:
1. 在爷爷组件中使用 `provide` 提供数据或方法:
```
import { provide } from 'vue';
export default {
setup() {
const data = '我是爷爷组件提供的数据';
const method = () => console.log('我是爷爷组件提供的方法');
provide('data', data);
provide('method', method);
}
}
```
2. 在孙子组件中使用 `inject` 注入数据或方法:
```
import { inject } from 'vue';
export default {
setup() {
const data = inject('data');
const method = inject('method');
return {
data,
method
};
}
}
```
注意:`inject` 支持第二个参数作为默认值。如果爷爷组件中没有提供该数据或方法,则使用默认值。
阅读全文