• 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页面,这样既不会报错,也不用考虑优先级问题,直接在路由层就处理了。

  • 相关阅读:
    flink sqlClient提交hiveIceberg
    经济计:宏观计算题
    上周热点回顾(10.10-10.16)
    Tomcat架构设计&源码剖析
    状态迁移法你还不会?看看这篇文章
    为Linux初学者答疑解惑
    Java中list集合自定义排序-2022新项目
    【yolov3】yolov3原理详解
    Linux认识与学习BASH
    python request post from 提交表单
  • 原文地址:https://blog.csdn.net/qq_46435701/article/details/126958425