uniapp

124 阅读3分钟

*使用Hbuilder X作为编辑器 对uniapp vue的开发有很大的优化和开发帮助 提供vue的高亮提示 而且还有各个平台的模板参考 插件库也是应有尽有

工程目录的结构

  1. components 组件的目录
  2. hybrid 存放本地网页的目录
  3. platforms 存放各平台专用页面的目录
  4. pages 业务页面文件存放的目录
  5. static 存放静态资源的目录
  6. wxcomponents 存放小程序组件的目录
  7. common 公共资源
  8. api 请求封装
  9. store 状态管理
  10. main.js vue初始化入口文件
  11. app.vue 用来配置app 全局样式以及监听应用生命周期
  12. manifest.json 配置应用名称 appid logo 等打包信息
  13. pages.json 配置页面路由 导航条 选项卡 等页面信息

uniapp 生命周期

应用的生命周期

  1. onLaunch 当uni-app 初始化完成时触发
  2. onShow 当uni-app 启动 或从后台进入前台显示
  3. onHide 当uni-app 从前台进入后台
  4. onError 当uni-app 报错时触发
  5. onUniNViewMessage 对nvue网页发送数据进行监听
  6. onUnhandledRejection 对未处理的Promise 拒绝事件监听函数
  7. onPageNotFound 页面不存在监听函数
  8. onThemeChange 监听系统主题变化

页面生命周期

  1. onLoad 监听页面加载 其参数为上一个页面带过来的数据 obj类型
  2. onShow 监听页面显示 页面每次出现在屏幕上都会触发 包括从下级页面点返回露出当前页面
  3. onReady 监听页面初次渲染完成 如果渲染速度快 会导致页面进入动画完成前触发
  4. onHide 页面监听隐藏
  5. onUnload 监听页面卸载
  6. onResize 监听窗口尺寸变化
  7. onPullDownRefresh 监听用户下拉动作 一般用于下拉刷新
  8. onReachBottom 页面滚动底部的事件 常用于下拉获取下一页的数据
  9. onTabItemTap 点击tab时触发 参数为obj
  10. onShareAppMessage 用户点击右下角分享
  11. onPageScroll 监听页面滚动 参数为obj
  12. onNavigationBarButtonTap 监听原生标题按钮点击事件 参数为obj
  13. onBackPress 监听页面返回
  14. onNavigationBarSearchInputChanged 监听原生标题搜索输入框内容变化事件
  15. onNavigationBarSearchInputConfitmed 监听原生标题栏搜索输入框事件 用户点击搜索时触发
  16. onNavigationBarSearchInputClicked 监听原生标题栏搜索输入框点击事件
  17. onShareTimeline 监听用户点击右上角转发到朋友圈
  18. onAddToFavorites 监听用户点击右上角收藏

uniapp 路由配置

  • 项目中会有一个pages.json文件用于配置路由
  • 当项目需要底部标签跳转时,需要在pages.json中配置tabBar来实现
  • 可以使用navigator组件跳转

页面以栈的形式管理当前所有页面 当路由切换时 页面会如下

  • 初始化 打开第一个页面
  • 打开新页面 调用api uni.navigateTo 使用组件
  • 重定向 调用api uni.redirectTo
  • 页面返回 调用api uni.navigateBack
  • Tab切换 调用api uni.switchTab
  • 重加载 调用api uni.reLaunch

getCurrentPages 可以获取当前页面信息

路由传参与接收

页面生命周期的onLoad 监听页面加载 上个页面传递的数据 uni.navigateTo({url:'page2?name=xxx&message=xxx'})
onLoad:function(option){
option为obj类型 会序列化上个页面传递的参数
log.option.name
log.option.message
}

小程序分包

与pages.json中的 pages同级 "subPages":[{}] 在项目根目录中创建一个subpages的目录 image.png