当前位置: 首页 > news >正文

解决小程序路由超过10层限制

新建 navroter.js

// 路由判断,小程序路由超过10层限制
// 避免小程序商品重复切换导致页面到结算单页时无法跳转到收货地址页,所以这里层级限制最大数为8
const MAX_VALUE = 8
export function navigateTo(url) {let pages = getCurrentPages()let dlt = ''// 查找目标页在页面栈的位置for (var i = 0; i < MAX_VALUE; i++) {if (pages[i]) {if (pages[i].$page && pages[i].$page.fullPath && (pages[i].$page.fullPath == url)) {dlt = i + 1; //目标页在栈中的位置break;}}}// 如果有重复则返回到页面栈页面if (dlt) {uni.navigateBack({delta: pages.length - dlt})} else {if (pages.length < MAX_VALUE) {uni.navigateTo({ url: url })} else {uni.redirectTo({ url: url })}}
}

main.js 全局引入

import { navigateTo } from '@/utils/navroter.js';
Vue.prototype.navigateTo = navigateTo;

使用

this.navigateTo(`/goods-module/goods?goods_id=${goods.goods_id}`)

http://www.lryc.cn/news/233220.html

相关文章:

  • 【ceph】AI时代-数据为王-ceph存储将成为未来比较看好的赛道之一,为什么不all in一把学习一个不那么卷的赛道呢?
  • 《小·意·思》特殊符号
  • Web server failed to start. Port 8080 was already in use.
  • 蓝桥杯第三周算法竞赛D题E题
  • 国家大基金三期线上金融正式倒计时!11月17日,共启芯片产业新篇章
  • Chrony让内网设备时间同步
  • 在docker中部署MySQL
  • 百家网约车平台发布“阳光五条” 多举措加强司机保障
  • JXLS 导出多sheet,带页眉页脚
  • docker数据卷详细讲解及数据卷常用命令
  • 智能井盖传感器能不能监测井盖位移
  • .bashrc文件中环境变量配置错误,导致linux命令无法正常使用
  • HTML易忽略的角落【目录】
  • mysql8.0递归
  • 处理机器学习数据集中字符串列(pandas.get_dummies)
  • 一个UE无法注册的问题
  • 自媒体剪辑必备,6个音效素材网站,你值得拥有。
  • uniapp Android如何授权打开系统蓝牙Bluetooth?
  • 图论与网络优化2
  • ES Kibana windows 安装
  • 分布式事务seata的使用
  • 使用宝塔面板安装mysql
  • Flink 支持三种时间语义
  • 【大话Presto 】- 核心概念
  • 阎良区公益创投之“小飞机大梦想” 航模DIY主题活动
  • springBoot集成websocket实时消息推送
  • web:[BUUCTF 2018]Online Tool
  • 决策树的Boosting策略是什么
  • SQL Server中substring的用法
  • vscode设置latex