A跳转B再跳转C,在C页通过uni.navigateBack并指定delta为2跳转到A,重复二次以上
 
                                        
                                    
                                    - 发布:2024-05-10 15:59
- 更新:2025-04-03 10:31
- 阅读:775
产品分类: uniapp/H5
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10
HBuilderX类型: 正式
HBuilderX版本号: 4.15
浏览器平台: Chrome
浏览器版本: 124.0.6367.61
项目创建方式: HBuilderX
操作步骤:
                                    
                                         
                                
                                                                                                预期结果:
                                    
                                    
                                        C跳转A时应销毁B页,且避免当多次跳转A->B->C时页面栈存在重复的B
                                     
                                
                                                                                                C跳转A时应销毁B页,且避免当多次跳转A->B->C时页面栈存在重复的B
实际结果:
                                    
                                    
                                        let pages = getCurrentPages()  
pages.map(p=>p.route)//['portal/page', 'pagesB/view/index/index', 'pagesB/view/index/index', 'pagesB/view/index/index','pagesB/view/index/index', 'pagesB/view/lists']
                                     
                                
                                                            let pages = getCurrentPages()  
pages.map(p=>p.route)//['portal/page', 'pagesB/view/index/index', 'pagesB/view/index/index', 'pagesB/view/index/index','pagesB/view/index/index', 'pagesB/view/lists']bug描述:
现有A、B、C三个页面。(页面跳转均使用navigateTo。)
场景:
A跳转B再跳转C,在C页通过uni.navigateBack并指定delta为2跳转到A,此时打印页面栈正常。当重复该步骤(A->B->C)第二次及以上时,打印页面栈发现重复的B页,且当A跳转B会触发B页的activated钩子,这意味着当C跳转A时,B页没有被销毁(我的项目全局未使用keep-alive)。  
我的期望:C跳转A时销毁B页,且避免当多次跳转A->B->C时页面栈存在重复的B
 
                                                                    
                                                                我们也遇到了,反复来回跳转,导致navigateBack无效,没反应
uni.navigateBack({
//返回首页
delta: 1000,
success: () => {  
                    },  
                    fail(err) {  
                    },  
                    complete() {  
                    }  
                }); 
             
             
             
			 
                                                                     
                                                                    
 
                                                                     
            
Roue
我也需要了同样的问题 a=>b=>c 然后 navigateBack delta:2 到a ,再次 a=>b=>c ,此时在页面栈中有两个b
2024-08-20 11:00