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 来传递数据和方法,可以实现祖孙组件之间的通信和调用。

2.目前尝试:无法在孙组件中使用provide向祖组件中用inject传递数据

Logo

前往低代码交流专区

更多推荐