当前位置: 首页 > article >正文

uniapp 面试题总结常考

uniapp

文件详情

├── pages                      # 页面文件夹
│   │── index                  # index文件夹
│   │   │── index.vue          # index页面
├── static                     # 静态资源(类似于图片 字体图标等)
│   │── logo.png               # 图片,视频或字体图标
├── unpackage                  # 存放打包输出的文件
├── App.vue                    # 项目根组件
├── main.js                    # 项目入口文件
├── manifest.json              # 应用的配置文件
├── pages.json                 # 页面存放目录  page属性中第一项为项目启动页
├── uni.scss                   # 整体控制应用的风格

globalStyle 属性

属性类型默认值描述平台差异说明
navigationBarBackgroundColorHexColor#F7F7F7导航栏背景颜色(同状态栏背景色)APP与H5为#F7F7F7,小程序平台请参考相应小程序文档
navigationBarTextStyleStringwhite导航栏标题颜色及状态栏前景颜色,仅支持 black/white
navigationBarTitleTextString导航栏标题文字内容
navigationStyleStringdefault导航栏样式,仅支持 default/custom。custom即取消默认的原生导航栏,需看使用注意微信小程序 7.0+、百度小程序、H5、App(2.0.3+)
backgroundColorHexColor#ffffff下拉显示出来的窗口的背景色微信小程序
backgroundTextStyleStringdark下拉 loading 的样式,仅支持 dark / light微信小程序
enablePullDownRefreshBooleanfalse是否开启下拉刷新,详见页面生命周期。
onReachBottomDistanceNumber50页面上拉触底事件触发时距页面底部距离,单位只支持px,详见页面生命周期
backgroundColorTopHexColor#ffffff顶部窗口的背景色(bounce回弹区域)仅 iOS 平台
backgroundColorBottomHexColor#ffffff底部窗口的背景色(bounce回弹区域)仅 iOS 平台
titleImageString导航栏图片地址(替换当前文字标题),支付宝小程序内必须使用https的图片链接地址支付宝小程序、H5、APP
transparentTitleStringnone导航栏整体(前景、背景)透明设置。支持 always 一直透明 / auto 滑动自适应 / none 不透明支付宝小程序、H5、APP
titlePenetrateStringNO导航栏点击穿透支付宝小程序、H5
pageOrientationStringportrait横屏配置,屏幕旋转设置,仅支持 auto / portrait / landscape 详见 响应显示区域变化App 2.4.7+、微信小程序
animationTypeStringpop-in窗口显示的动画效果,详见:窗口动画App
animationDurationNumber300窗口显示动画的持续时间,单位为 msApp
app-plusObject设置编译到 App 平台的特定样式,配置项参考下方 app-plusApp
h5Object设置编译到 H5 平台的特定样式,配置项参考下方 H5H5
mp-alipayObject设置编译到 mp-alipay 平台的特定样式,配置项参考下方 MP-ALIPAY支付宝小程序
mp-weixinObject设置编译到 mp-weixin 平台的特定样式微信小程序
mp-baiduObject设置编译到 mp-baidu 平台的特定样式百度小程序
mp-toutiaoObject设置编译到 mp-toutiao 平台的特定样式字节跳动小程序
mp-qqObject设置编译到 mp-qq 平台的特定样式QQ小程序
usingComponentsObject引用小程序组件,参考 小程序组件
renderingModeString同层渲染,webrtc(实时音视频) 无法正常时尝试配置 seperated 强制关掉同层微信小程序
leftWindowBooleantrue当存在 leftWindow 时,默认是否显示 leftWindowH5
topWindowBooleantrue当存在 topWindow 时,默认是否显示 topWindowH5
rightWindowBooleantrue当存在 rightWindow 时,默认是否显示 rightWindowH5
rpxCalcMaxDeviceWidthNumber960rpx 计算所支持的最大设备宽度,单位 pxApp、H5(2.8.12+)
rpxCalcBaseDeviceWidthNumber375rpx 计算使用的基准设备宽度,设备实际宽度超出 rpx 计算所支持的最大设备宽度时将按基准宽度计算,单位 pxApp、H5(2.8.12+)
rpxCalcIncludeWidthNumber750rpx 计算特殊处理的值,始终按实际的设备宽度计算,单位 rpxApp、H5(2.8.12+)
maxWidthNumber1190单位px,当浏览器可见区域宽度大于maxWidth时,两侧留白,当小于等于maxWidth时,页面铺满;不同页面支持配置不同的maxWidth;maxWidth = leftWindow(可选)+page(页面主体)+rightWindow(可选)H5(2.9.9+)

tabBar属性

tarbar

属性类型必填默认值描述平台差异说明
colorHexColortab 上的文字默认颜色
selectedColorHexColortab 上的文字选中时的颜色
backgroundColorHexColortab 的背景色
borderStyleStringblacktabbar 上边框的颜色,仅支持 black/whiteApp 2.3.4+ 支持其他颜色值
listArraytab 的列表,详见 list 属性说明,最少2个、最多5个 tab
positionStringbottom可选值 bottom、toptop 值仅微信小程序支持

list

属性类型必填说明
pagePathString页面路径,必须在 pages 中先定义
textStringtab 上按钮文字,在 5+APP 和 H5 平台为非必填。例如中间可放一个没有文字的+号图标
iconPathString图片路径,icon 大小限制为40kb,建议尺寸为 81px * 81px,当 postion 为 top 时,此参数无效,不支持网络图片,不支持字体图标
selectedIconPathString选中时的图片路径,icon 大小限制为40kb,建议尺寸为 81px * 81px ,当 postion 为 top 时,此参数无效
"tabBar": {
		"list": [
			{
				"text": "首页",
				"pagePath":"pages/index/index",
				"iconPath":"static/tabs/home.png",
				"selectedIconPath":"static/tabs/home-active.png"
			},
			{
				"text": "信息",
				"pagePath":"pages/message/message",
				"iconPath":"static/tabs/message.png",
				"selectedIconPath":"static/tabs/message-active.png"
			},
			{
				"text": "我们",
				"pagePath":"pages/contact/contact",
				"iconPath":"static/tabs/contact.png",
				"selectedIconPath":"static/tabs/contact-active.png"
			}
		]
	}

view 组件用法

属性名说明
hover-class指定按下去的样式类。当 hover-class=“none” 时,没有点击态效果
hover-stop-propagation指定是否阻止本节点的祖先节点出现点击态
hover-start-time按住后多久出现点击态,单位毫秒
hover-stay-time手指松开后点击态保留时间,单位毫秒

text组件用法

属性说明
selectable文本是否可选
space显示连续空格,可选参数:enspemspnbsp
decode是否解码(&nbsp &lt &gt &amp &apos &ensp &emsp
space值的意义
说明
ensp中文字符空格一半大小
emsp中文字符空格大小
nbsp根据字体设置的空格大小

生命周期函数

应用的生命函数

函数名说明
onLaunch初始化完成时触发(全局只触发一次)
onShow启动,或从后台进入前台显示
onHide从前台进入后台
onError报错时触发

页面的生命函数

数名说明
onLoad监听页面加载,其参数为上个页面传递的数据,参数类型为Object(用于页面传参)
onShow监听页面显示。页面每次出现在屏幕上都触发,包括从下级页面点返回露出当前页面(页面切换不会触发onload函数,只会触发onshow)
onReady监听页面初次渲染完成。
onHide监听页面隐藏
onUnload监听页面卸载

下拉刷新

在pages文件中

style:{
	enablePullDownRefresh:true
}

使用函数

uni.startPullDownRefresh()

监听下拉刷新函数

onPullDownRefresh(){
	console.log('页面刷新了')
}

上拉刷新

监听上拉刷新函数

onReachBottom(){
	console.log('页面触底了')
}
属性类型默认值描述
onReachBottomDistanceNumber50页面上拉触底事件触发时距页面底部距离,单位只支持px
style:{
	onReachBottomDistance:200
}

网络请求

uni.request({
 // 参数见下方
})

传值说明

参数名类型说明
urlString开发者服务器接口地址
dataObject/String/ArrayBuffer请求的参数
headerObject设置请求的 header,header 中不能设置 Referer。
methodString有效值详见下方说明
timeoutNumber超时时间,单位 ms
dataTypeString如果设为 json,会尝试对返回的数据做一次 JSON.parse
responseTypeString设置响应的数据类型。合法值:text、arraybuffer
sslVerifyBoolean验证 ssl 证书
withCredentialsBoolean跨域请求时是否携带凭证(cookies)
firstIpv4BooleanDNS解析时优先使用ipv4

请求情况返回数据

参数名类型说明
successFunction收到开发者服务器成功返回的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

本地数据缓存

存储数据------setStorage------异步

uni.setStorage({
 key:'存储的键名',
 data:'存储的值',
 success(){
     '存储成功调用的函数'
 },
 fail(){
     '存储失败调用的函数'
 },
 complete(){
     '接口调用结束调用的函数'
 }
})

获取数据------getStorage------异步

uni.getStorage({
 key:'数据缓存中的键名',
 success(){
     '存储成功调用的函数'
 },
 fail(){
     '存储失败调用的函数'
 },
 complete(){
     '接口调用结束调用的函数'
 }
})

移除数据-----removeStorage------异步

uni.removeStorage({
 key:'数据缓存中的键名',
 success(){
     '删除成功调用的函数'
 },
 fail(){
     '删除失败调用的函数'
 },
 complete(){
     '接口调用结束调用的函数'
 }
})

清除本地所有数据------clearStorage------异步

uni.clearStorage()

存储数据------setStorageSync------同步

uni.setStorageSync('键名','值')

获取数据------getStorageSync------同步

const res = uni.getStorageSync('键名')

移除数据-----removeStorage------同步

uni.removeStorage('键名')

清除本地所有数据------clearStorage------同步

uni.clearStorageSync()

上传图片

从本地相册选择图片或使用相机拍照------chooseImage

参数名说明
count最多可以选择的图片张数,默认9
sizeTypeoriginal 原图,compressed 压缩图,默认二者都有
extension根据文件拓展名过滤,每一项都不能是空字符串。默认不过滤。
sourceTypealbum 从相册选图,camera 使用相机,默认二者都有。如需直接开相机或直接选相册,请只使用一个选项
crop图像裁剪参数,设置后 sizeType 失效
success成功则返回图片的本地文件路径列表 tempFilePaths
fail接口调用失败的回调函数
complete接口调用结束的回调函数(调用成功、失败都会执行)
crop
参数名说明
quality取值范围为1-100,数值越小,质量越低(仅对jpg格式有效)。默认值为80。
width裁剪的宽度,单位为px,用于计算裁剪宽高比。
height裁剪的高度,单位为px,用于计算裁剪宽高比。
resize是否将width和height作为裁剪保存图片真实的像素值。默认值为true。注:设置为false时在裁剪编辑界面显示图片的像素值,设置为true时不显示
success 返回参数说明
参数说明
tempFilePaths图片的本地文件路径列表
tempFiles图片的本地文件列表,每一项是一个 File 对象
File 对象结构如下
参数说明
path本地文件路径
size本地文件大小,单位:B
name包含扩展名的文件名称,仅H5支持
type文件类型,仅H5支持

预览图片------previewImage

参数名说明
current详见下方说明
urls需要预览的图片链接列表
indicator图片指示器样式,可取值:“default” - 底部圆点指示器; “number” - 顶部数字指示器; “none” - 不显示指示器。(只在App中适用)
loop是否可循环预览,默认值为 false (只在App中适用)
longPressActions长按图片显示操作菜单,如不填默认为保存相册==(只在App 1.9.5+适用)==
success接口调用成功的回调函数
fail接口调用失败的回调函数
complete接口调用结束的回调函数(调用成功、失败都会执行)
longPressActions 参数说明
参数类型必填说明
itemListArray按钮的文字数组
itemColorString按钮的文字颜色,字符串格式,默认为"#000000"
successFunction接口调用成功的回调函数,详见返回参数说明
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)
success 返回参数说明
参数类型说明
indexNumber用户长按图片的索引值
tapIndexNumber用户点击按钮列表的索引值

条件注释实现跨端兼容

注释 #ifdef 平台值 开头

注释 #endif 平台值 结尾
平台
APP-PLUS5+App
H5H5
MP-WEIXIN微信小程序
MP-ALIPAY支付宝小程序
MP-BAIDU百度小程序
MP-TOUTIAO头条小程序
MP-QQQQ小程序
MP微信小程序/支付宝小程序/百度小程序/头条小程序/QQ小程序

页面跳转

navigator------声明式导航跳转

属性名说明
url应用内的跳转链接,值为相对路径或绝对路径,如:“…/first/first”,“/pages/first/first”,注意不能加 .vue 后缀
open-type跳转方式
delta当 open-type 为 ‘navigateBack’ 时有效,表示回退的层数
animation-type当 open-type 为 navigate、navigateBack 时有效,窗口的显示/关闭动画效果,(只在App中适用)
animation-duration当 open-type 为 navigate、navigateBack 时有效,窗口显示/关闭动画的持续时间。(只在App中适用)
hover-class指定点击时的样式类,当hover-class="none"时,没有点击态效果
hover-stop-propagation指定是否阻止本节点的祖先节点出现点击态==(只在微信小程序中适用)==
hover-start-time按住后多久出现点击态,单位毫秒
hover-stay-time手指松开后点击态保留时间,单位毫秒
target在哪个小程序目标上发生跳转,默认当前小程序,值域self/miniProgram==(只在微信2.0.7+、百度2.5.2+、QQ中适用)==
open-type 有效值
说明
navigate对应 uni.navigateTo 的功能
redirect对应 uni.redirectTo 的功能
switchTab对应 uni.switchTab 的功能
reLaunch对应 uni.reLaunch 的功能==(字节跳动小程序不支持)==
navigateBack对应 uni.navigateBack 的功能
exit退出小程序,target="miniProgram"时生效==(只在微信2.1.0+、百度2.5.2+、QQ1.4.7+适用)==
  • 跳转tabbar页面,必须设置open-type=“switchTab”
  • navigator-hover 默认为 {background-color: rgba(0, 0, 0, 0.1); opacity: 0.7;}, <navigator> 的子节点背景色应为透明色。
  • navigator-open-type属性 如果使用对应的值,则对应值的功能会高于对应跳转路径。
  • app-nvue 平台只有纯nvue项目(render为native)才支持 <navigator>。非render为native的情况下,nvue暂不支持navigator组件,请使用API跳转。
  • app下退出应用,Android平台可以使用plus.runtime.quit。iOS没有退出应用的概念。
  • uLink组件是navigator组件的增强版,样式上自带下划线,功能上支持打开在线网页、其他App的schema、mailto发邮件、tel打电话。

编程式导航跳转

函数说明
navigateTo保留当前页面,跳转到应用内的某个页面
redirectTo关闭当前页面,跳转到应用内的某个页面。
reLaunch关闭所有页面,打开到应用内的某个页面。
switchTab跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。
navigateBack关闭当前页面,返回上一页面或多级页面
参数说明
url需要跳转的应用内非 tabBar 的页面的路径 , ==或tabBar页面(仅限于switchTab)==路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;如 ‘path?key=value&key2=value2’,path为下一个页面的路径,下一个页面的onLoad函数可得到传递的参数
animationType窗口动画效果==(只在App中适用)==
animationDuration窗口动画持续时间,单位为 ms==(只在App中适用)==
events页面间通信接口,用于监听被打开页面发送到当前页面的数据。2.8.9+ 开始支持。
success接口调用成功的回调函数
fail接口调用失败的回调函数
complete接口调用结束的回调函数(调用成功、失败都会执行)

http://www.kler.cn/a/397090.html

相关文章:

  • 单元测试、集成测试、系统测试、验收测试、压力测试、性能测试、安全性测试、兼容性测试、回归测试(超详细的分类介绍及教学)
  • 如何利用WebSockets实现高效的实时通信应用
  • Electron 沙盒模式与预加载脚本:保障桌面应用安全的关键机制
  • 贴代码框架PasteForm特性介绍之markdown和richtext
  • (一)Ubuntu20.04服务器端部署Stable-Diffusion-webui AI绘画环境
  • 基于Matlab的碎纸片的自动拼接复原技术
  • 5.4.2-1 编写Java程序在HDFS上创建文件
  • 深度学习--优化器
  • 车载诊断架构 --- 关于DTC的开始检测条件
  • Node.js | npm下载安装及环境配置教程
  • 创建第一个react项目
  • 电子可靠性 - 振动
  • Flutter:异步多线程结合
  • 15分钟学 Go 第 57 天 :持续集成与持续部署
  • np.zeros_like奇怪的bug
  • web——sqliabs靶场——第六关——报错注入和布尔盲注
  • AntFlow:一款高效灵活的开源工作流引擎
  • Nginx 上安装 SSL 证书并启用 HTTPS 访问
  • 踏入 C++ 的深邃世界:实现 unordered_set 与 unordered_map 的优雅之旅
  • 问题大集-01-kafka问题
  • 【C语言】前端虚拟DOM
  • 软考教材重点内容 信息安全工程师 第 4 章 网络安全体系与网络安全模型
  • 超全超详细使用SAM进行高效图像分割标注(GPU加速推理)
  • golang中的init函数
  • 1 图的搜索 奇偶剪枝
  • 解锁 AI 力量:为直播未来注入磅礴能量,开启新时代篇章