vue3兄弟组件通信方法
时间: 2023-07-19 17:26:47 浏览: 127
在 Vue3 中,使用 `provide` 和 `inject` 可以实现兄弟组件之间的通信。
`provide` 可以在父组件中提供数据或方法,子组件通过 `inject` 来注入并使用这些数据或方法。具体实现过程如下:
父组件中使用 `provide` 提供数据或方法:
```javascript
import { provide } from 'vue';
export default {
setup() {
const data = 'Hello, World!';
const method = () => {
console.log('Hello, World!');
};
provide('data', data);
provide('method', method);
}
}
```
子组件中使用 `inject` 注入并使用数据或方法:
```javascript
import { inject } from 'vue';
export default {
setup() {
const data = inject('data');
const method = inject('method');
method(); // Hello, World!
console.log(data); // Hello, World!
}
}
```
需要注意的是,`provide` 和 `inject` 只能在 `setup` 函数中使用,且 `inject` 中的参数必须与 `provide` 中提供的数据或方法的键名一致。
阅读全文