Resuelve el problema de que el applet uniapp WeChat uni.navigateTo salta el límite de 10 capas

Descripción del problema: Para optimizar el rendimiento, cuando uniapp usa uni.navigateTo para saltar, la pila de páginas se limita a un máximo de 10 capas. Cuando el salto supera las 10 capas, se producirán problemas.


Para este problema, actualmente uso 2 soluciones:

El primer método : cuando todo el proceso no exceda las 10 páginas, regrese a la primera página en la página de resultados y use uni.navigateBack tanto en el evento de clic como en el evento de destrucción de página. El ejemplo es el siguiente:

methods: {
    
    
	completeBtn(){
    
    
		uni.navigateBack({
    
    
				delta: 3
				});
			}
		},
onUnload() {
    
    
	uni.navigateBack({
    
    
		delta: 3
	});
}	

El segundo método
: use el método getCurrentPages() para obtener el número de páginas en la pila. Si es mayor o igual a 10 capas, use el método redirectTo() para saltar. Dado

		onLoad(opts){
    
    
			let pages = getCurrentPages();
			// 获取页面栈总页数
			this.pagesCount = pages.length;
		},
		methods:{
    
    
			pushPage(url){
    
    
				// 如果页面栈总数大于10
				if(this.pagesCount >= 10){
    
    
					// 使用重定向跳转页面
					uni.redirectTo({
    
    
						url: '/pages/news/index?id=3'
					})
				}else{
    
    
					// 如果页面栈总数小于10,则打开新页面
					uni.navigateTo({
    
    
						url: '/pages/news/index?id=3'
					})
				}
			}
		}

Guess you like

Origin blog.csdn.net/m0_47791238/article/details/130177746