刷刷题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 状态管理‌:集中式存储多组件共享状态‌。
相关推荐
veneno3 小时前
大量异步并发请求控制并发解决方案
前端
i***t9193 小时前
Spring Boot项目接收前端参数的11种方式
前端·spring boot·后端
oden3 小时前
2025博客框架选择指南:Hugo、Astro、Hexo该选哪个?
前端·html
小光学长4 小时前
基于ssm的宠物交易系统的设计与实现850mb48h(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·前端·数据库
云中飞鸿4 小时前
函数:委托
javascript
小小前端要继续努力4 小时前
渐进增强、优雅降级及现代Web开发技术详解
前端
老前端的功夫5 小时前
前端技术选型的理性之道:构建可量化的ROI评估模型
前端·javascript·人工智能·ubuntu·前端框架
狮子座的男孩5 小时前
js函数高级:04、详解执行上下文与执行上下文栈(变量提升与函数提升、执行上下文、执行上下文栈)及相关面试题
前端·javascript·经验分享·变量提升与函数提升·执行上下文·执行上下文栈·相关面试题
许强0xq5 小时前
Q19: fallback 和 receive 有什么区别?
面试·web3·区块链·solidity·以太坊·evm
爱学习的程序媛5 小时前
《JavaScript权威指南》核心知识点梳理
开发语言·前端·javascript·ecmascript