在Vue3中,可以使用'provide'和'inject'来在父子组件之间进行通信。

首先,在父组件中使用'provide'来提供一个方法或者数据给子组件:

// 父组件
import { provide } from 'vue';

export default {
  setup() {
    const showMessage = (message) => {
      console.log('Received message:', message);
    };

    provide('showMessage', showMessage);

    return {};
  },
};

然后,在子组件中使用'inject'来获取父组件提供的方法或者数据:

// 子组件
import { inject } from 'vue';

export default {
  setup() {
    const showMessage = inject('showMessage');

    const closePage = () => {
      // 关闭子页面的逻辑...

      // 向父页面发送提示信息
      showMessage('Page closed');
    };

    return {
      closePage,
    };
  },
};

这样,当子页面关闭时,调用'closePage'方法会触发父页面的'showMessage'方法,并传递提示信息作为参数。父页面可以在'showMessage'方法中处理接收到的信息。

Vue3 父子组件通信:子页面关闭时向父页面发送提示信息

原文地址: https://www.cveoy.top/t/topic/p16p 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录