uniapp 使用心得总结

1,031 阅读3分钟

这是我参与更文挑战的第4天,活动详情查看:更文挑战

1、vue在uniapp使用有多少差异

uni-app 在发布到H5时支持所有vue的语法;发布到App和小程序时,由于平台限制,无法实现全部vue语法,但 uni-app 仍是是对vue语法支持度最高的跨端框架。 相比Web平台, Vue.js 在 uni-app 中使用差异主要集中在两个方面:

  • 新增:uni-app 除了支持Vue实例的生命周期,还支持应用生命周期以及页面生命周期
  • 受限:相比web平台,在小程序和App端部分功能受限。
  • uni-app 完整支持 Vue 模板语法。
  • App端可以使用更多的vue特性。(主要做的都app项目,小程序要自己踩坑啦。app使用vue很友好)。

2、应用生命周期

函数名说明
onLaunch当uni-app 初始化完成时触发(全局只触发一次)
onShow当 uni-app 启动,或从后台进入前台显示(多次触发)
onHide当 uni-app 从前台进入后台(多次触发)
onError当 uni-app 报错时触发
onUniNViewMessage对 nvue 页面发送的数据进行监听,可参考 nvue 向 vue 通讯
onUnhandledRejection对未处理的 Promise 拒绝事件监听函数(2.8.1+)
onPageNotFound页面不存在监听函数
onThemeChange监听系统主题变化

3、页面生命周期

函数名说明平台差异说明
onLoad监听页面加载,参数为上个页面传递的参数,参数类型为对象(触发一次)
onShow监听页面显示。页面每次出现在屏幕上都触发,包括从下级页面点返回露出当前页面(多次触发)
onReady监听页面初次渲染完成。注意如果渲染速度快,会在页面进入动画完成前触发
onHide监听页面隐藏(多次触发)
onUnload监听页面卸载
onResize监听窗口尺寸变化App、微信小程序
onPullDownRefresh监听用户下拉动作,一般用于下拉刷新
onReachBottom页面滚动到底部的事件(不是scroll-view滚到底),常用于下拉下一页数据
onTabItemTap点击 tab 时触发,参数为Object微信小程序、支付宝小程序、百度小程序、H5、App(自定义组件模式)
onShareAppMessage用户点击右上角分享微信小程序、百度小程序、字节跳动小程序、支付宝小程序
onPageScroll监听页面滚动,参数为Objectnvue暂不支持
onNavigationBarButtonTap监听原生标题栏按钮点击事件,参数为ObjectApp、H5
onBackPress监听页面返回,返回 event = {from:backbutton、 navigateBack} ,backbutton 表示来源是左上角返回按钮或 android 返回键;navigateBack表示来源是 uni.navigateBack ;详细说明及使用:onBackPress 详解。支付宝小程序只有真机能触发,只能监听非navigateBack引起的返回,不可阻止默认行为。app、H5、支付宝小程序
onNavigationBarSearchInputChanged监听原生标题栏搜索输入框输入内容变化事件App、H5
onNavigationBarSearchInputConfirmed监听原生标题栏搜索输入框搜索事件,用户点击软键盘上的“搜索”按钮时触发。App、H5
onNavigationBarSearchInputClicked监听原生标题栏搜索输入框点击事件App、H5
onShareTimeline监听用户点击右上角转发到朋友圈微信小程序
onAddToFavorites监听用户点击右上角收藏微信小程序

4、 应用生命周期执行顺序

beforeCreate => onLoad => onShow => created => beforeMount => onReady => mounted