刷刷题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 状态管理‌:集中式存储多组件共享状态‌。
相关推荐
ZC跨境爬虫2 小时前
跟着 MDN 学 HTML day_9:(信件语义标记)
前端·css·笔记·ui·html
前端老石人2 小时前
HTML 字符引用完全指南
开发语言·前端·html
matlab_xiaowang2 小时前
Redux 入门:JavaScript 可预测状态管理库
开发语言·javascript·其他·ecmascript
幼儿园技术家2 小时前
前端如何设计权限系统(RBAC / ABAC)?
前端
前端摸鱼匠4 小时前
Vue 3 的v-bind合并行为:讲解v-bind与普通属性合并的规则
前端·javascript·vue.js·前端框架·ecmascript
REDcker4 小时前
浏览器端Web程序性能分析与优化实战 DevTools指标与工程清单
开发语言·前端·javascript·vue·ecmascript·php·js
donecoding6 小时前
一个 sudo 引发的血案:npm 全局包权限错乱彻底修复
前端·node.js·前端工程化
风骏时光牛马6 小时前
Raku正则匹配与数据批量处理实操案例
前端
nbwenren6 小时前
2026实测:Gemini 3 镜像站视觉能力实践——拍照原型图,一键生成 HTML+CSS 代码
前端·css·html
Lee川6 小时前
Prisma 实战指南:像搭积木一样设计古诗词数据库
前端·数据库·后端