gzxd
gzxd
  • 发布:2023-03-03 16:11
  • 更新:2023-03-03 18:11
  • 阅读:232

【报Bug】uni.$emit H5 跳转页面首次不会触发,二次跳转页面才会触发

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 10 专业版 21H2

浏览器平台: Chrome

浏览器版本: 108.0.5359.125(正式版本) (64 位)

项目创建方式: CLI

CLI版本号: 3.0.0-alpha-3041320220531002

示例代码:

test page

<template>  
    <view>  
        test page  
        <button @click="goPage">跳转</button>  
    </view>  
</template>  

<script>  
    export default {  
        data() {  
            return {  

            }  
        },  
        methods: {  
            goPage() {  
              uni.navigateTo({  
                url: '/pages/test2/test2',  
                success: () => {  
                  uni.$emit('resultData', { data: 'data' })  
                }  
              })  
            }  
        }  
    }  
</script>  

<style>  

</style>  

test2 page

<template>  
    <view>  
        test2 page  
    </view>  
</template>  

<script>  
    export default {  
        data() {  
            return {  

            }  
        },  
        onLoad() {  
            uni.$once('resultData', (data) => {  
                console.log(data)  
            })  
        },  
        methods: {  

        }  
    }  
</script>  

<style>  

</style>  

操作步骤:

点击跳转按钮,点击导航栏 < 返回再点击跳转按钮

预期结果:

test2 页
第一次进入打印一次 {data: 'data'}
第二次进入打印一次{data: 'data'}

实际结果:

test2 页
第一次进入打印两次

{data: 'data'}   
{data: 'data'} 

bug描述:

想通过uni.$emit 及 uni.$once,从 test1 页传递数据到 test2 页,但 uni.$emit 首次进入页面不会触发,第二次进入页面才会触发,加 setTimeout 1秒 会触发

2023-03-03 16:11 负责人:无 分享
已邀请:
YUANRJ
  • gzxd (作者)

    懂了

    2023-03-04 09:11

要回复问题请先登录注册