c***@qq.com
c***@qq.com
  • 发布:2023-03-29 11:36
  • 更新:2023-03-29 12:47
  • 阅读:255

onShow中的回调函数不执行?

分类:uni-app
// hook.js  
import { onLoad, onShow, onReady, onHide, onUnload } from '@dcloudio/uni-app'  
export function useAutoReporterPage() {  
    onLoad(() => {  
        console.log('==================111>>>>> onLoad')  
    })  
    onReady(() => {  
        console.log('==================111>>>>> onReady')  
    })  
    onShow(() => {  
        console.log('==================111>>>>> onshow')  
    })  
    onHide(() => {  
        console.log('==================111>>>>> onhidden')  
    })  
    onUnload(() => {  
        console.log('==================111>>>>> onUnload')  
    })  
}  

// index.vue  
<template>  
    <view style="width: 300px; height: 400px; background: red" />  
</template>  
<script setup>  
import { useAutoReporterPage } from './hook'  
useAutoReporterPage()  
</script>

上述代码中 onShow 生命周期无法成功触发

2023-03-29 11:36 负责人:无 分享
已邀请:
c***@qq.com

c***@qq.com (作者)

写在一个文件中可以成功触发,但是这就失去了使用hooks的意义了。。。。有遇到过类似问题的小伙伴吗~求助

<template>  
    <view style="width: 300px; height: 400px; background: red" />  
</template>  

<script setup>  
import { onLoad, onShow, onReady, onHide, onUnload } from '@dcloudio/uni-app'  

function useAutoReporterPage() {  
    onLoad(() => {  
        console.log('==================111>>>>> onLoad')  
    })  
    onReady(() => {  
        console.log('==================111>>>>> onReady')  
    })  
    onShow(() => {  
        console.log('==================111>>>>> onshow')  
    })  
    onHide(() => {  
        console.log('==================111>>>>> onhidden')  
    })  
    onUnload(() => {  
        console.log('==================111>>>>> onUnload')  
    })  
}  
useAutoReporterPage()  
</script>
c***@qq.com

c***@qq.com (作者)

找到解决方案了

const autoReport = useAutoReporterPage() || {}  
autoReport.onShow

页面中没有此生命周期的字符串就不会注册,有点违被常识了。。。

参考:https://ask.dcloud.net.cn/question/150353

要回复问题请先登录注册