0


Vue3 子组件onmounted 里面取不到props的值

Vue3 子组件onmounted 里面取不到props的值,是因为子组件的页面渲染速度要超过了父组件向子组件传值的速度了,如果子组件初始化的时候要用到父组件传的值可以尝试下面三种方法:

1、对要取数据的代码进行延迟

setTimeout(() => {

            state.orderSn= props.orderInfo.orderSn

            getTimeDiff();

}, 50);

2、使用getCurrentInstance的mittBus进行传值

父组件:

const { proxy } = <any>getCurrentInstance();

proxy.mittBus.emit('getGoodInfo', state.info);

子组件:

const { proxy } = <any>getCurrentInstance();

proxy.mittBus.on('getGoodInfo', (data: any) => {

            console.log(data)

            state.orderSn= data.orderSn

             getTimeDiff();

});

//不用了之后要取消传值

onUnmounted(()=>{

        //取消传值,销毁定时器

        proxy.mittBus.off('getGoodInfo', () => {});

})

3、使用props搭配watch

watch监听props传过来的值 直到获取到值再执行要执行的功能。在这里先不做演示了,用的话可以百度一下。


本文转载自: https://blog.csdn.net/m0_59393112/article/details/124941937
版权归原作者 前端海里浑水摸鱼 所有, 如有侵权,请联系我们删除。

“Vue3 子组件onmounted 里面取不到props的值”的评论:

还没有评论