uniapp开发必须了解的知识

有学过微信小程序开发和vue的,uniapp开发成本低,但是还是不能忽视了注意事项,别给自己带来麻烦,以下是我从官网上抽取的,希望接下来的开发能够顺利进行,文字有点多,但细看益处多多,go~~~

  • 开发工具下载标准版,在运行或发行uni-app时,会提示安装uni-app插件
    下载App开发版,可开箱即用
  • 如使用cli方式创建项目,可直接下载标准版,因为uni-app编译插件被安装到项目下了。
    可以通过 vue-cli 创建 uni-app 项目。
  • 接口能力(JS API)靠近微信小程序规范,但需将前缀 wx 替换为 uni
  • 数据绑定及事件处理同 Vue.js 规范,同时补充了App及页面的生命周期
  • 为兼容多端运行,建议使用flex布局进行开发
  • static 目录下的 js 文件不会被编译,如果里面有 es6 的代码,不经过转换直接运行,在手机设备上会报错。
  • css、less/scss 等资源同样不要放在 static 目录下,建议这些公用的资源放在 common 目录下。
  • 生命周期函数onUniNViewMessage 对 nvue 页面发送的数据进行监听
  • onlaunch里进行页面跳转,如遇白屏报错,请参考https://ask.dcloud.net.cn/article/35942
    页面生命周期:
  • onResize 监听窗口尺寸变化 5+App、微信小程序
  • onNavigationBarButtonTap 监听原生标题栏按钮点击事件,参数为Object 5+ App、H5
  • onBackPress 监听页面返回,返回 event = {from:backbutton、 navigateBack} ,backbutton 表示来源是左上角返回按钮或 android 返回键;navigateBack表示来源是 uni.navigateBack ;详细说明及使用:onBackPress 详解
    5+App、H5
  • onNavigationBarSearchInputChanged 监听原生标题栏搜索输入框输入内容变化事件 5+App、H5 1.6.0
  • onNavigationBarSearchInputConfirmed 监听原生标题栏搜索输入框搜索事件,用户点击软键盘上的“搜索”按钮时触发。 5+App、H5 1.6.0
  • onNavigationBarSearchInputClicked 监听原生标题栏搜索输入框点击事件 5+App、H5 1.6.0
  • 在HBuilderX 中,点击“运行”编译出来的代码是开发环境,点击“发行”编译出来的代码是生产环境
switch(uni.getSystemInfoSync().platform){
    case 'android':
       console.log('运行Android上')
       break;
    case 'ios':
       console.log('运行iOS上')
       break;
    default:
       console.log('运行在开发者工具上')
       break;
}

  • uni-app 支持的通用 css 单位包括 px、rpx
    https://uniapp.dcloud.io/frame?id=%e5%88%a4%e6%96%ad%e5%b9%b3%e5%8f%b0
  • 不同平台在编译出包后已经是不同的代码
  • alert(“只有h5平台才有alert方法”)
  • App端,在 pages.json 里的 titleNView 或页面里写的 plus api 中涉及的单位,只支持 px。注意此时不支持 rpx
  • uni-app 在 App 端、H5 端都支持了 rpx。
  • rpx不支持动态横竖屏切换计算,使用rpx建议锁定屏幕方向
  • 如果设计稿不是750px,HBuilderX提供了自动换算的工具,详见:https://ask.dcloud.net.cn/article/35445。
  • 早期 uni-app 提供了 upx ,目前已经推荐统一改为 rpx 了
  • 在 uni-app 中不能使用 * 选择器。
  • page 相当于 body 节点
    nvue页面暂不支持全局样式
  • 下图是内置css变量,专用于处理各平台兼容问题
    uniapp开发必须了解的知识_第1张图片
    height: var(–status-bar-height);
    bottom: calc(var(–window-bottom) + 10px)
  • 需要注意的是,运算符前后都需要保留一个空格,例如:width: calc(100% - 10px);
  • 任何长度值都可以使用calc()函数进行计算;
  • calc()函数支持 “+”, “-”, “*”, “/” 运算;
  • calc()函数使用标准的数学运算优先级规则;
  • NavigationBar和TabBar高度是固定不可修改的
    uniapp开发必须了解的知识_第2张图片
  • css设置背景图片需注意
    uniapp开发必须了解的知识_第3张图片