1.在 Vue 3 中,你可以使用 provide/inject 来实现祖孙组件之间的传值和调用方法。
首先,在祖组件中使用 provide 来提供数据或方法,例如:
// 祖组件
import { provide } from 'vue';
export default {
setup() {
const data = 'Hello';
const method = () => {
console.log('Method called');
};
provide('data', data);
provide('method', method);
...
}
}
然后,在孙组件中使用 inject 来获取祖组件提供的数据或方法,例如:
// 孙组件
import { inject } from 'vue';
export default {
setup() {
const data = inject('data');
const method = inject('method');
...
// 调用祖组件提供的方法
method();
...
}
}
过 provide/inject 来传递数据和方法,可以实现祖孙组件之间的通信和调用。