欢迎光临
我们一直在努力

九八云百度小程序教程:swan.onPageNotFound

  • swan.onPageNotFound
    • 方法参数
      • callback 参数说明
      • callback 返回参数说明
    • 示例
      • 图片示例
      • 代码示例 1:在生命周期的 onPageNotFound 中使用
      • 代码示例 2:等同于示例一的另一种写法
      • 代码示例 3:可根据开发者的业务逻辑调整用法
    • Bug & Tip

    swan.onPageNotFound

    基础库 3.60.2 开始支持,低版本需做兼容处理。

    解释: 监听小程序要打开的页面不存在事件。该事件与 App.onPageNotFound 的回调时机一致。

    方法参数

    Function callback

    callback 参数说明

    小程序要打开的页面不存在的事件回调函数。

    callback 返回参数说明

    属性 类型 说明

    path

    String

    不存在页面的路径

    query

    Object

    打开不存在页面的 query 参数

    isEntryPage

    Boolean

    是否本次启动的首个页面(例如从分享等入口进来,首个页面是开发者配置的分享页面)

    示例

    扫码体验

    代码示例

    请使用百度APP扫码

    图片示例

    代码示例 1:在生命周期的 onPageNotFound 中使用

    在开发者工具中打开

    在开发者工具中打开

    在 WEB IDE 中打开

    • JS
    
     
    1. App({
    2. onLaunch() {},
    3. onPageNotFound(res) {
    4. console.log(res);
    5. swan.showModal({
    6. title: '',
    7. content: JSON.stringify(res)
    8. });
    9. // 页面不存在时,默认跳转到首页,如果是 tabbar 页面,请使用 swan.switchTab 进行跳转
    10. swan.navigateTo({
    11. url: '/home/home'
    12. });
    13. }
    14. });

    代码示例 2:等同于示例一的另一种写法

    在开发者工具中打开

    在开发者工具中打开

    在 WEB IDE 中打开

    • JS
    
     
    1. App({
    2. onLaunch() {
    3. swan.onPageNotFound(function(res) {
    4. console.log(res);
    5. swan.showModal({
    6. title: '',
    7. content: JSON.stringify(res)
    8. });
    9. // 页面不存在时,默认跳转到首页,如果是 tabbar 页面,请使用 swan.switchTab 进行跳转
    10. swan.navigateTo({
    11. url: '/home/home'
    12. });
    13. });
    14. }
    15. });

    代码示例 3:可根据开发者的业务逻辑调整用法

    在开发者工具中打开

    在开发者工具中打开

    在 WEB IDE 中打开

    • JS
    
     
    1. Page({
    2. data: {},
    3. onTap() {
    4. swan.onPageNotFound(function(res) {
    5. console.log('onPageNotFound success',res);
    6. swan.showModal({
    7. title: '',
    8. content: JSON.stringify(res)
    9. });
    10. // 页面不存在时,默认跳转到首页,如果是 tabbar 页面,请使用 swan.switchTab 进行跳转
    11. swan.navigateTo({
    12. url: '/home/home',
    13. success: res => {
    14. console.log('navigateTo success');
    15. },
    16. fail: err => {
    17. console.log('navigateTo fail');
    18. },
    19. complete() {
    20. swan.offPageNotFound();
    21. }
    22. });
    23. });
    24. swan.navigateTo({
    25. url: '/path/to/otherPage'
    26. });
    27. }
    28. });

    Bug & Tip

    • 开发者可以在回调中进行页面重定向。
    • 在除了 App.js 的其他时机中调用 swan.onPageNotFound 的话,需要用swan.offPageNotFound取消监听,否则会出现监听多次的情况

    赞(0) 打赏
    未经允许不得转载:九八云安全 » 九八云百度小程序教程:swan.onPageNotFound

    评论 抢沙发