w***@qq.com
w***@qq.com
  • 发布:2022-10-13 13:36
  • 更新:2022-10-14 14:24
  • 阅读:346

【报Bug】API getCurrentPages获取的页面栈有问题

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Window 11

HBuilderX类型: 正式

HBuilderX版本号: 3.6.4

浏览器平台: Chrome

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

项目创建方式: HBuilderX

示例代码:

index.vue

<template>  
    <view class="content">  
        <image class="logo" src="/static/logo.png"></image>  
        <view class="text-area" @click="toRoute">  
            <text class="title">{{title}}</text>  
        </view>  
    </view>  
</template>  

<script>  
    export default {  
        data() {  
            return {  
                title: 'gaga'  
            }  
        },  
        onLoad(options) {  
            const pages = getCurrentPages()  
            console.log('pages', pages)  
            if(!options.ci){  
                // uni.redirectTo({  
                //  url: '/pages/index/index?ci=123'  
                // })  
            }  
        },  
        methods: {  
            toRoute(){  
                uni.navigateTo({  
                    url: '/pages/index/route'  
                })  
            }  
        }  
    }  
</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>

route.vue

<template>  

</template>  

<script>  
    export default {  
        onLoad() {  
            const pages = getCurrentPages()  
            console.log('pages',pages)  
            if(!this.$route.query.ci){  
                uni.redirectTo({  
                    url: '/pages/index/route?ci=999'  
                });  
            }  
        },  
        methods: {  

        }  
    }  
</script>  

<style>  
</style>

操作步骤:

从pages/index/index页面跳转(uni.navigateTo)到pages/index/route页面, 再从pages/index/route页面跳转(uni.redirectTo)到pages/index/route?ci=999页面

预期结果:

['pages/index/index','pages/index/route?ci=999']

实际结果:

['pages/index/index','pages/index/route','pages/index/route?ci=999']

bug描述:

从pages/index/index页面跳转(uni.navigateTo)到pages/index/route页面, 再从pages/index/route页面跳转(uni.redirectTo)到pages/index/route?ci=999页面, 此时调用getCurrentPages()获取的pages应该为['pages/index/index','pages/index/route','pages/index/route?ci=999']
预期结果为:
['pages/index/index','pages/index/route?ci=999']

2022-10-13 13:36 负责人:无 分享
已邀请:
DCloud_UNI_WZF

DCloud_UNI_WZF

测试未复现该问题,请检查代码或提供测试工程

该问题目前已经被锁定, 无法添加新回复