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

uniapp uniCloud引发的血案(switchTab: Missing required args: “url“)!!!!!!!!!!

此文章懒得排版了,为了找出这个bug, 星期六的晚上我从9点查到0点多,此时我心中一万个草泥马在崩腾,超级想骂人!!!!!!!!!

 @uniCloud

不想看我抱怨的直接去底部看总结就行

那么开始抱怨了:

事情是这样的,我今天去做路由拦截,用了uni.addInterceptor拦截器对["navigateTo", "redirectTo", "reLaunch", "switchTab"]进行拦截;

然后我tabbar有4个菜单(暂且叫做A,B,C,D吧), 拦截器写好后我测试,发现A,C,D之间都可以自由切换,但只要切到B后再切换其他tabbar页面A||B||C, 就会报错,且不能跳转到目标页:

switchTab: Missing required args: "url"             uni-h5.es.js:2651

根据报错信息,我一开始以为我路由没配好,检查了好几次,发现还是报错;

然后我又去查是不是这个页面代码的问题,还是报错;

没办法只能拿出终极测试方法了 ---- >>> 注释代码!!!

注释js部分,还是报错!!!

注释自定义组件部分,正常了!!!!!:

1、删掉我写的自定义组件-->正常,恢复-->报错,此时我坚定的认为是还是我自己写的组件的问题;

2、于是我去把这个组件仔细查了下,没发现问题啊,由于我用了slot, 我猜是不是这个导致的?(此刻怀疑uniapp的种子埋下了)

3、然后我做了个简单demo, 简单的页面,简单的自定义组件,组件里放个slot, 页面导入使用,测试,正常跳转(抓狂);

4、上面测试没发现问题,于是我就去B页面注释掉自定义组件slot里的多个组件,唉,可以正常跳转,问题就在这了;

5、于是挨个注释里面的组件,最后发现是官方的uni-data-select组件导致的(罪魁祸首我以为是它,其实不是);

6、于是我就找到源码查看,一开始没发现什么,那么继续注释大法;

7、注释dom部分(不能跳转),注释script部分(正常跳转),然后依次注释methods, watch,computed,created,data,props (不能跳转)

8、注释mixins: [uniCloud.mixinDatacom || {}], 唉,唉唉唉,好了,问题找到了,就是这玩意儿,就是这sb玩意儿,我找了一晚上,就是这个导致上面那个错且路由不能跳转,坑爹玩意儿啊!

我想既然是这个uniCloud.mixinDatacom导致的,我先去app.vue或者main.js里先把它保存到window对象上看看,结果全部ABCD都不能切换了,后面发现只要是app.vue或者main.js里出现了uniCloud,哪怕是console.log打(uniCloud), 也出问题!

最后把uni-data-select里的mixins: [uniCloud.mixinDatacom || {}],注释掉不要了,props里补了个

collection: {
	type: [String, Array],
	default: '',
}

问题就解决了,此时也已经到了0点钟,此时我也一肚子气,此时我超级想骂人,此时.......

最后总结下:

当项目使用了uni.addInterceptor对路由switchTab进行拦截时,如果tabbar页面,或者tabbar页面使用的组件里有用到uniCloud,那么就会报错:switchTab: Missing required args: "url", 导致路由跳转不了。解决办法就是不用uniCloud,然后官方uni-组件缺什么就补什么,还是报错就去市场找类似组件替换掉;

相关文章:

  • ESP8266TCP客户端(单连接TCP Client)
  • java项目springboot 项目启动不了解决方案
  • 线性表相关代码(顺序表+单链表)
  • Python深度学习算法介绍
  • 基于SpringBoot的历史馆藏系统设计与实现(源码+SQL脚本+LW+部署讲解等)
  • JDK 的 SPI 和 Dubbo 的 SPI
  • vector模板类的模拟实现
  • JVM垃圾回收面试题及原理
  • 代码随想录二刷|图论4
  • 实现一个日期类(类和对象实践项目)
  • 使用 potrace.js实现图像矢量化教程
  • Windows控制台函数:标准输入输出流交互函数GetStdHandle()
  • 基于Spring Boot的城市垃圾分类管理系统的设计与实现(LW+源码+讲解)
  • 使用 Python 开发的简单招聘信息采集系统
  • 人工智能里的深度学习指的是什么?
  • Next.js 的基本了解
  • 【工具使用】IDEA 社区版如何创建 Spring Boot 项目(详细教程)
  • 蓝耘赋能通义万相 2.1:用 C++ 构建高效 AI 视频生成生态
  • CSS定位布局-五个定位实现自由布局(Static, Relative, Absolute, Fixed, Sticky)
  • 力扣刷题DAY8(动态规划)
  • 网站建设dqcx/宁波seo网站服务
  • 洛可可设计公司地址/关于seo的行业岗位有哪些
  • 图片设计制作/南宁百度seo优化
  • 个人网页开发毕业设计/长沙关键词优化新行情报价
  • 镇江做网站的/长沙网站seo哪家公司好
  • 杭州市下城区建设厅网站/手机怎么创建自己的网站平台