码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • onPageNotFound踩坑


    记录一下学习微信小程序开发:

    onPageNotFound(Object object)
    基础库 1.9.90 开始支持,低版本需做兼容处理。
    小程序要打开的页面不存在时触发。也可以使用 wx.onPageNotFound 绑定监听。注意事项请参考 wx.onPageNotFound。

    参数:与 wx.onPageNotFound 一致

    示例代码:

    App({
    onPageNotFound(res) {
    wx.redirectTo({
    url: ‘pages/…’
    }) // 如果是 tabbar 页面,请使用 wx.switchTab
    }
    })

    在app.js中配置onPageNotFound,自测时选择在另一个页面绑定一个事件去跳转一个不存在的页面,onPageNotFound在app.js和index.js的回调都没有执行到,只报了路由找不到的错误。
    原因:在路由层还未成功跳转,直接报错,路由没有到不存在的页面,所以没有触发onPageNotFound,想验证是否生效,直接在小程序编译模式中添加一个不存在的页面路由进行跳转即可。
    缺点:因为小程序中有执行优先级的问题,即index.js>app.js,会先执行index.js中的代码再执行app.js中的代码,这就导致在app.js中路由跳转前可能会先展示index.js中的视图。
    改进:最好是在路由层直接跳转,即没有匹配上配置好的路由路径的话直接全部跳转404页面,这样既不会报错,也不用考虑优先级问题,直接在路由层就处理了。

  • 相关阅读:
    Mybatis-plus多数据源单元测试@MybatisPlusTest
    简单的抓包
    【Rust】快速教程——一直在单行显示打印、输入、文件读写
    【小程序】HbuilderX搭建开发环境
    解决mysql语句MAX()函数中出现的问题
    【Java每日一题】——第四十题:设计一个Shape接口和它的两个实现类Square和Circle(2023.10.26)
    从React源码角度看useCallback,useMemo,useContext
    牛客刷题——剑指offer(第7期)
    浅析TSINGSEE智能边缘网关的人体检测技术及应用场景
    OpenWrt KernelPackage分析
  • 原文地址:https://blog.csdn.net/qq_46435701/article/details/126958425
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号