uni-app学习树重构计划21天

前言:使用uni-app有一段时间了,一直处于需要时才去对应搜索的阶段,最近想提高代码开发效率,准备梳理、重构一下脑袋中的知识体系。

关于版本与框架

目前uView尚未支持VUE3.0版本(nvue也尚未支持VUE3.0)

如何查看uview2版本?

代码中添加后查看

console.log(uni.$u.config.v)

如何升级更新uview2?

版本升级 · uView-UI v2.x常见问题整理 · 看云 (kancloud.cn)

npm update uview-ui

  uni-app的工程文件目录

使用uniapp要注意的一些变化

 组件/标签的变化

以前是html标签,比如<div>,现在是小程序组件,比如<view>。 那么标签组件有什么区别,不都是用尖括号包围起来一段英文吗? 其实标签是老的概念,标签属于浏览器内置的东西。但组件,是可以自由扩展的。 类似你可以把一段js封装成函数或模块,你也可以把一个ui控件封装成一个组件。

uni-app参考小程序规范,提供了一批内置组件。

下为html标签和uni-app内置组件的映射表:

除了改动外,新增了一批手机端常用的新组件

除了内置组件,还有很多开源的扩展组件,把常用操作都进行封装,DCloud建立了插件市场收录这些扩展组件,详见插件市场

  • js api的变化

因为uni-app的api是参考小程序的,所以和浏览器的js api有很多不同,如

  1. alert,confirm 改成 uni.showmodel(opens new window)
  2. ajax 改成 uni.request(opens new window)
  3. cookie、session 没有了,local.storage 改成 uni.storage

uniapp中的布局及样式注意点

布局:flex布局Flex 布局教程:语法篇 - 阮一峰的网络日志 (ruanyifeng.com)

容器属性:

flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。

align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。 项目属性:

flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。

该属性有两个快捷值:

auto (1 1 auto) ,撑满剩余空间,空间不足时缩小

none (0 0 auto),空间不足时不缩小,同轴其他项目缩小

uniapp,vh和vw是可以使用的,需要让某个元素高度铺满整个屏幕时,可以设置高度为100vh

一般情况下,推荐字体和宽高等,都使用rpx单位,如果需要固定尺寸,使用px

uView的顶部和底部安全区适配

安全区适配 | uView 2.0 - 全面兼容nvue的uni-app生态框架 - uni-app UI框架 (uviewui.com)

// 使用特定组件占位,它会自动判断机型,给元素加上一个适当底部内边距
<u-status-bar></u-status-bar> // 顶部安全区适配
<u-safe-bottom></u-safe-bottom> // 底部安全区适配

uView中,一些组件如u-popup、u-keyboard组件等,提供了一个safeAreaInsetBottom参数(布尔类型),如果设置为true,就会在组件内部对安全区进行适配, 从而避免安全区指示条引起的问题 。

uView u-tag和u-button组件宽度受特效样式影响

解决方式:给组件u-tag和u-button外部增加view容器设置宽度样式,或者外框增加width: fit-content;属性,进行自适应。

猜你喜欢

转载自blog.csdn.net/weixin_67665876/article/details/127486627
今日推荐