VUE3.0 provide/inject的异步传递问题

解决vue3.0中 provide/inject的异步传递问题

备注:provide/inject都必须在setup中使用

1. 同步使用

    祖先组件

    import { ref, provide } from 'vue'

    export default {

      setup() {

           const msg = ref('')

            provide('msg', msg)

        }

    }

    孙子辈组件

    import { inject } from 'vue'

    export default {

      setup() {

         const msg = inject ('msg')

          return { msg }

        }

    }

2. 异步使用

祖先组件

import { ref, provide } from 'vue'

    export default {

      setup() {

            // 逻辑就是先发射出去,然后再异步中改变值,这样祖孙组件就可以接收到了

            const msg = ref('')

            provide('msg', msg)

            // 异步处理

            setTimeout(() => {

                  msg.value = '收到一条消息';

             }, 3000)

        }

    }

孙子辈组件

import { inject } from 'vue'

export default {

   setup() {

        const msg = inject ('msg')

        return { msg }

    }

  }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容