当前位置:首页 > 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
分享给朋友:

相关文章

uniapp开发

uniapp开发

uniapp开发简介 uniapp是一款基于Vue.js的跨平台开发框架,支持一次开发,多端部署。开发者可以通过编写一套代码,发布到iOS、Android、Web以及各种小程序平台(如微信、支付宝、百…

uniapp 消息推送

uniapp 消息推送

uniapp 消息推送实现方法 使用uniPush服务 uniapp官方提供了uniPush服务,支持iOS、Android及小程序平台的消息推送。需要在manifest.json中配置推送模块,并按…

uniapp部署到服务器

uniapp部署到服务器

部署准备 确保本地开发环境已完成项目构建,生成静态文件(H5端为/dist/build/h5目录)。检查服务器环境是否安装Nginx/Apache等Web服务软件,并配置好域名解析。 上传文件 通过…

uniapp样式库

uniapp样式库

uniapp 常用样式库推荐 uView UI uView 是专为 uniapp 设计的多端兼容 UI 框架,提供丰富的组件和工具类。支持 Vue3 组合式 API,内置主题定制功能,常用于快速构建企…

uniapp分享到facebook

uniapp分享到facebook

使用uniapp分享到Facebook的方法 在uniapp中实现分享到Facebook功能,可以通过调用原生插件或使用第三方SDK。以下是具体实现方式: 安装Facebook SDK插件 在uni…

uniapp实现标题栏渐变

uniapp实现标题栏渐变

实现标题栏渐变的方法 在UniApp中实现标题栏渐变效果,可以通过修改页面的导航栏样式或使用自定义导航栏来实现。以下是几种常见的方法: 方法一:使用原生导航栏渐变 通过修改pages.json中的…