刷刷题32(uniapp初级实际项目问题-1)

‌1. Uniapp 的跨平台原理是什么? ‌

Uniapp 基于 Vue.js 语法,通过编译时将代码转换为各平台(小程序、H5、App等)的原生代码。例如,小程序会转为 wxml/wxss/js,H5 转为 HTML/CSS/JS,App 通过 Weex 或原生渲染引擎处理,实现"一套代码,多端运行"。


‌2. Uniapp 中如何实现页面跳转?列举至少两种方式。 ‌

  • uni.navigateTo:保留当前页面,跳转到新页面(可返回)。
  • uni.redirectTo:关闭当前页面,跳转到新页面(不可返回)。
  • 其他:uni.switchTab(切换 Tab 页)、uni.reLaunch(重启到新页面)等。

‌3. Uniapp 的生命周期有哪些?应用生命周期和页面生命周期有何区别? ‌

  • ‌应用生命周期 ‌:onLaunch(初始化)、onShow(启动/从后台进入前台)、onHide(进入后台)。
  • ‌页面生命周期 ‌:onLoad(加载)、onShow(显示)、onReady(渲染完成)、onHide(隐藏)、onUnload(卸载)。
    ‌区别‌:应用生命周期管理全局状态,页面生命周期管理单个页面的状态。

‌4. 如何在 Uniapp 中发起网络请求? ‌

使用 uni.request 方法:

javascript 复制代码
uni.request({
  url: 'https://api.example.com/data',
  method: 'GET',
  success: (res) => { console.log(res.data); },
  fail: (err) => { console.error(err); }
});

‌5. Uniapp 如何处理不同平台的样式或逻辑差异? ‌

使用‌条件编译‌:

arduino 复制代码
// #ifdef MP-WEIXIN
console.log('仅微信小程序生效');
// #endif

// #ifdef H5
console.log('仅H5生效');
// #endif

‌6. 如何实现全局状态管理?列举至少两种方式。 ‌

  • ‌Vuex ‌:通过 store 管理全局状态。
  • ‌全局变量 ‌:在 App.vue 中定义全局变量,通过 getApp().globalData 访问。
  • ‌事件总线 ‌:使用 uni.$on、uni.$emit 跨组件通信。

‌7. Uniapp 中常用的 UI 组件库有哪些? ‌

  • ‌uni-ui ‌:官方扩展组件库(如 <uni-card>、<uni-icons>)。
  • ‌uView UI‌:第三方高性能组件库。
  • ‌Vant Weapp‌:适配小程序端的组件库(需条件编译)。

‌8. 如何优化 Uniapp 应用的性能? ‌

  • 减少 setData 频率和数据量。
  • 使用图片懒加载(<image lazy-load>)。
  • 分包加载(subPackages 配置)。
  • 避免频繁操作 DOM,善用 v-if 和 v-show。

‌9. 如何实现本地数据缓存? ‌

使用 uni.setStorageSync 和 uni.getStorageSync:

arduino 复制代码
// 存储
uni.setStorageSync('key', 'value');
// 读取
const value = uni.getStorageSync('key');
// 删除
uni.removeStorageSync('key');

‌10. Uniapp 打包为 App 时需要注意什么? ‌

  • 配置应用图标(manifest.json 中设置)。
  • 处理原生功能(如摄像头、定位)需添加权限声明。
  • 使用 HbuilderX 进行云打包或离线打包。
  • 测试不同 Android/iOS 设备的兼容性。
相关推荐
一水鉴天5 小时前
统一对象拓扑(UOT)设计全链定稿:从三件事分离到三继承 之1 20261010(豆包“查看聊天内容”继续)
前端·css
杨杰3985 小时前
我给嵌入式设备写了个 6MB 的 JavaScript 运行时(xuan)
javascript
栖凤6 小时前
Java 的 try-catch 在 Agent 里失效了,我用了 5 个模式才兜住
java·前端·python
粥里有勺糖6 小时前
视野修炼第136期 | 前端小恐龙"Deno"被收购
前端·github·ai编程
修炼的dance6 小时前
页面塞了13.88 MB字体,导出的PDF只有71 KB
前端
qq_369173636 小时前
如何将 AI 生成的 HTML 网页发布成在线链接?不用自己搭建服务器
前端·人工智能·html·效率工具·html 发布
风花一世月6 小时前
⚡ 我把一座含氢能源园区搬进了浏览器(五类能流实时算守恒,在线直接玩)
前端·人工智能
羲云6 小时前
Claude 越界事件之后:Agent 权限设计为什么不能只靠提示词
前端
怕浪猫6 小时前
Agent 工程化面试:从开发到部署的 5 个关键问题
面试·架构·github
行者全栈架构师6 小时前
【鸿蒙心迹】鸿蒙网络请求架构实战——@ohos.net.http 到 Axios 封装、拦截器与统一错误处理(HarmonyOS 7.x)
前端·算法·架构