当前位置:首页 > uni-app

uniapp监听页面

2026-02-06 01:09:54uni-app

监听页面滚动事件

在uni-app中可以通过onPageScroll生命周期函数监听页面滚动事件。该函数会在页面滚动时触发,并返回滚动距离参数。

export default {
  onPageScroll(e) {
    console.log('页面滚动距离:', e.scrollTop)
    // 可根据scrollTop值实现吸顶、渐变等效果
  }
}

监听页面显示/隐藏

使用onShowonHide生命周期监听页面显示状态变化:

export default {
  onShow() {
    console.log('页面显示')
    // 适合做数据刷新、动画启动等操作
  },

  onHide() {
    console.log('页面隐藏')
    // 适合暂停动画、清除定时器等操作
  }
}

监听页面加载与卸载

onLoadonUnload用于监听页面的加载与卸载事件:

export default {
  onLoad(options) {
    console.log('页面加载', options)
    // 获取路由参数,初始化数据
  },

  onUnload() {
    console.log('页面卸载')
    // 清除全局事件监听等收尾工作
  }
}

监听页面返回按钮

通过onBackPress可以监听物理返回按钮事件:

export default {
  onBackPress() {
    console.log('返回按钮被点击')
    // 返回true可阻止默认返回行为
    // 可在此实现二次确认退出等逻辑
    return false
  }
}

使用全局事件总线监听

通过uni-app的事件总线实现跨页面通信:

uniapp监听页面

// 页面A触发事件
uni.$emit('pageChange', {data: 'value'})

// 页面B监听事件
uni.$on('pageChange', (data) => {
  console.log('收到页面变化事件:', data)
})

// 记得在onUnload中移除监听
uni.$off('pageChange')

注意事项

  • 页面生命周期函数需直接定义在Page/Component的配置对象中
  • 滚动监听在iOS上可能有性能问题,避免频繁操作DOM
  • 全局事件需注意及时销毁,避免内存泄漏
  • H5端部分生命周期与小程序端存在差异,需做好兼容处理

标签: 页面uniapp
分享给朋友:

相关文章

vue实现页面定位

vue实现页面定位

Vue 实现页面定位的方法 在 Vue 中实现页面定位通常可以通过以下几种方式完成,包括使用原生 JavaScript 的 scrollIntoView 方法、Vue Router 的滚动行为配置,以…

h5实现页面跳转页面跳转页面

h5实现页面跳转页面跳转页面

H5 实现页面跳转的方法 使用 <a> 标签实现跳转 通过超链接标签 <a> 的 href 属性指定目标页面路径,用户点击后跳转。 <a href="target.…

h5页面实现vr

h5页面实现vr

实现H5页面VR效果的方法 在H5页面中实现VR(虚拟现实)效果,可以通过以下几种技术方案实现: 使用WebVR API WebVR是一个实验性的JavaScript API,提供了访问VR设备的功…

uniapp请求超时处理

uniapp请求超时处理

uniapp请求超时处理方法 在uniapp中处理请求超时可以通过多种方式实现,以下是几种常见的处理策略: 设置全局请求超时时间 在main.js中配置全局请求超时时间,适用于所有请求: uni…

uniapp关闭侧滑

uniapp关闭侧滑

禁用全局侧滑返回功能 在pages.json中配置全局禁止侧滑返回: { "globalStyle": { "popGesture": "none" } } 禁用单个页面侧滑…

uniapp指南

uniapp指南

开发环境搭建 下载HBuilderX作为官方推荐的开发工具,支持Windows和Mac系统。安装后创建uni-app项目,选择模板(如默认模板、Hello Uni-app等)。确保Node.js版本在…