刷刷题26(uniapp1)

一、Uniapp 如何实现条件编译?不同平台的条件编译标识符示例

通过预处理指令 #ifdef#ifndef 包裹平台特定代码,例如:

arduino 复制代码
#ifdef H5  
console.log("仅H5平台执行");  
#endif  

标识符示例:H5(Web端)、MP-WEIXIN(微信小程序)‌

二、Uniapp 应用生命周期与页面生命周期的区别

  • 应用生命周期 ‌:onLaunch(初始化)、onShow(前台显示)、onHide(进入后台)‌。
  • 页面生命周期 ‌:onLoad(加载)、onShow(显示)、onReady(渲染完成)、onUnload(卸载)‌。

三、Uniapp 如何实现多端跨平台适配?

  1. 弹性布局与响应式单位 ‌:使用 rpx 适配不同屏幕尺寸。
  2. 条件编译‌:针对平台差异编写特定代码。
  3. API 兼容性处理 ‌:通过 uni.* 接口调用平台能力,如 uni.getSystemInfo 获取设备信息‌。

四、Uniapp 中实现文件上传的 API 及参数格式

使用 uni.uploadFile,参数示例:

php 复制代码
uni.uploadFile({  
  url: '上传地址',  
  filePath: '文件路径',  
  name: '文件字段名',  
  success: (res) => { /* 回调处理 */ }  
});  

五、全局组件与页面组件的注册及使用区别

  • 全局组件 ‌:在 App.vue 中通过 Vue.component() 注册,全应用可用。
  • 页面组件 ‌:通过 components 属性局部注册,仅当前页面可用‌8。

六、Uniapp 中本地数据存储的实现方式

  • 同步存储 ‌:uni.setStorageSync('key', value)uni.getStorageSync('key')
  • 异步存储 ‌:uni.setStorage()uni.getStorage()‌。

七、Uniapp 性能优化的常见方法

  1. 减少 v-if 频繁切换 ‌,优先使用 v-show
  2. 图片懒加载 ‌:通过 lazy-load 属性实现。
  3. 分包加载‌:拆分主包体积,提升启动速度‌。

八、rpx、px、rem 等单位的区别及适用场景

  • rpx‌:基于屏幕宽度的自适应单位(750rpx = 屏幕宽度)。
  • px‌:绝对像素单位,适用于固定尺寸元素。
  • rem‌:基于根节点字体大小的相对单位,常用于 H5 响应式布局‌。

九、Uniapp 的优缺点分析

  • 优点‌:跨平台开发、学习成本低(Vue语法)、支持原生插件扩展。
  • 缺点‌:部分原生功能需适配、Android 性能略逊于 iOS、社区资源较分散‌。

十、Uniapp 页面间数据传递的常用方法

  1. URL 参数传递 ‌:uni.navigateTo({ url: '/page?id=1' })
  2. 全局变量 ‌:通过 Vue.prototypegetApp() 共享数据。
  3. Vuex 状态管理‌:集中式存储多组件共享状态‌。
相关推荐
崔庆才丨静觅3 小时前
hCaptcha 验证码图像识别 API 对接教程
前端
passerby60613 小时前
完成前端时间处理的另一块版图
前端·github·web components
掘了3 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
崔庆才丨静觅3 小时前
实用免费的 Short URL 短链接 API 对接说明
前端
崔庆才丨静觅4 小时前
5分钟快速搭建 AI 平台并用它赚钱!
前端
崔庆才丨静觅4 小时前
比官方便宜一半以上!Midjourney API 申请及使用
前端
Moment4 小时前
富文本编辑器在 AI 时代为什么这么受欢迎
前端·javascript·后端
崔庆才丨静觅5 小时前
刷屏全网的“nano-banana”API接入指南!0.1元/张量产高清创意图,开发者必藏
前端
剪刀石头布啊5 小时前
jwt介绍
前端
爱敲代码的小鱼5 小时前
AJAX(异步交互的技术来实现从服务端中获取数据):
前端·javascript·ajax