刷刷题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.prototype 或 getApp() 共享数据。
  3. ‌Vuex 状态管理‌:集中式存储多组件共享状态‌。
相关推荐
子兮曰5 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰5 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万5 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝5 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋5 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
晨米酱5 天前
AGENTS.md:Agent 的上下文策略层
面试·架构·agent
卡布鲁5 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
李少兄5 天前
JavaScript 隐式全局变量解析
javascript
彧azz5 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
汉堡大王95275 天前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端