哒哒哒古古怪怪
哒哒哒古古怪怪
  • 发布:2024-04-29 15:29
  • 更新:2024-05-08 11:36
  • 阅读:65

【报Bug】uni.preloadPage在vue3+nvue的情况下,onshow和onhide监听事件错乱

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 22H2

HBuilderX类型: 正式

HBuilderX版本号: 4.08

手机系统: Android

手机系统版本号: Android 11

手机厂商: OPPO

手机机型: reno

页面类型: nvue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
<template>  
    <view v-for="(item,index) in uid_array" class="content" @click="goto(item)">  
        <image class="logo" src="/static/logo.png"></image>  
        <view class="text-area">  
            <text class="title" >{{item}}</text>  
        </view>  
    </view>  
</template>  

<script>  
    export default {  
        data() {  
            return {  
                title: 'Hello',  
                uid_array: [1, 2, 3]  
            }  
        },  
        onLoad() {  
            this.uid_array.map((item,index)=>{  
                uni.preloadPage({  
                    url: "/pages/index/sub?uid="+item,  
                    success(r) {   
                        console.log('测试页面'+item+'预加载成功');    
                    },  
                    fail(e) {  
                        console.log(e);  
                    }  
                })   
            })  

        },  
        methods: {  
            goto(item)  
            {  
                uni.navigateTo({  
                    url:'/pages/index/sub?uid='+item  
                })  
            }  
        }  
    }  
</script>  

<style>  
    .content {  
        display: flex;  
        flex-direction: column;  
        align-items: center;  
        justify-content: center;  
    }  

    .logo {  
        height: 200rpx;  
        width: 200rpx;  
        margin-top: 200rpx;  
        margin-left: auto;  
        margin-right: auto;  
        margin-bottom: 50rpx;  
    }  

    .text-area {  
        display: flex;  
        justify-content: center;  
    }  

    .title {  
        font-size: 36rpx;  
        color: #8f8f94;  
    }  
</style>
<template>  

</template>  

<script>  
    export default {  
        data() {  
            return {  
                uid:0  
            }  
        },  
        onLoad(options) {  
            this.uid=options.uid;  
            console.log('group页面加载',this.uid);  
        },  
        onShow()  
        {  
            console.log('group页面显示',this.uid);  
        },  
        onHide()  
        {  
            console.log('group页面隐藏',this.uid);  
        },  
        methods: {  
        }  
    }  
</script>  

<style>  

</style>  

操作步骤:

uni.preloadPage在vue3+nvue的情况下,onshow和onhide监听事件错乱,

我点击的是进入item 1这个参数路径,结果控制台打印item3的参数,并且onshow和onhide的监听会立即失效

测试在vue2情况下正常

预期结果:

uni.preloadPage在vue3+nvue的情况下,onshow和onhide监听事件错乱,

我点击的是进入item 1这个参数路径,结果控制台打印item3的参数,并且onshow和onhide的监听会立即失效

测试在vue2情况下正常

实际结果:

代码比较简单,。就用的一个demo做i的实验,你们完全可以拿来自己测试一下
也测试了,如果不加参数,正常,出错的就在于加了参数,望尽快回复

bug描述:

uni.preloadPage在vue3+nvue的情况下,onshow和onhide监听事件错乱,

我点击的是进入item 1这个参数路径,结果控制台打印item3的参数,并且onshow和onhide的监听会立即失效

测试在vue2情况下正常

2024-04-29 15:29 负责人:无 分享
已邀请:
哒哒哒古古怪怪

哒哒哒古古怪怪 (作者)

顶顶啊

哒哒哒古古怪怪

哒哒哒古古怪怪 (作者)

不要沉

要回复问题请先登录注册