- 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
App({onLaunch() {},onPageNotFound(res) {console.log(res);swan.showModal({title: '',content: JSON.stringify(res)});// 页面不存在时,默认跳转到首页,如果是 tabbar 页面,请使用 swan.switchTab 进行跳转swan.navigateTo({url: '/home/home'});}});
代码示例 2:等同于示例一的另一种写法
在开发者工具中打开
在开发者工具中打开
在 WEB IDE 中打开
- JS
App({onLaunch() {swan.onPageNotFound(function(res) {console.log(res);swan.showModal({title: '',content: JSON.stringify(res)});// 页面不存在时,默认跳转到首页,如果是 tabbar 页面,请使用 swan.switchTab 进行跳转swan.navigateTo({url: '/home/home'});});}});
代码示例 3:可根据开发者的业务逻辑调整用法
在开发者工具中打开
在开发者工具中打开
在 WEB IDE 中打开
- JS
Page({data: {},onTap() {swan.onPageNotFound(function(res) {console.log('onPageNotFound success',res);swan.showModal({title: '',content: JSON.stringify(res)});// 页面不存在时,默认跳转到首页,如果是 tabbar 页面,请使用 swan.switchTab 进行跳转swan.navigateTo({url: '/home/home',success: res => {console.log('navigateTo success');},fail: err => {console.log('navigateTo fail');},complete() {swan.offPageNotFound();}});});swan.navigateTo({url: '/path/to/otherPage'});}});
Bug & Tip
- 开发者可以在回调中进行页面重定向。
- 在除了 App.js 的其他时机中调用 swan.onPageNotFound 的话,需要用swan.offPageNotFound取消监听,否则会出现监听多次的情况


![晴川云Minecraft Wiki教程:初始资源[ ],晴川云](https://baike.qcidc.com/wp-content/uploads/2025/09/20250919082404171-u_4191782018_3476519045fm_253fmt_autoapp_138f_PNG.png)







暂无评论内容