题目1: 什么是条件编译

条件编译是用特殊的注释作为标记,在编译时根据这些特殊的注释,将注释里面的代码编译到不同平台。
分 ifdef 和 ifndef 两种判断方式.
#ifdef APP-PLUS
在App平台下执行的代码
#endif

ifndef H5
在非H5平台下执行的代码
#endif

题目2: 有哪些生命周期, 简述几个

共有3类生命周期

  • 应用级: 书写在 App.vue 中
    • onLaunch 应用初始化完毕
    • onShow 应用显示, 从后台进入前台
    • onHide 应用从前台进入后台
  • 页面级: 同微信小程序的周期
    • onLoad 页面加载, 可以接收路由参数
    • onPullDownRefresh 下拉刷新时
    • onReachBottom 触底时
    • onPageScroll 页面滚动时
  • 组件级: 同vue组件周期

    • mounted 组件挂载完毕
    • destroyed 组件销毁后
    • created 组件创建完毕

      题目3: 谈谈你对uniapp的理解

      uniapp采用vue框架实现页面的制作, 采用微信小程序的组件库和api库;
      目标是书写一次代码, 即可编译到不同的平台. 兼容 App Web 各类小程序;
      能够用最低的成本实现多平台项目开发.
      缺点是: 目前生态还不够完善, 官方遗留了很多BUG等待解决. 目前还无法完美实现所有需求.

      题目4: 如何实现页面之间的跳转操作

      有两种方式可以实现
  • 组件方式: 使用uni-navigator组件

  • 编程方式: 使用uni.navigateTo这个Api

    题目5: 如何实现下拉刷新操作

    首先, 必须在pages.json文件中, 为需要开启下拉刷新操作的页面开启下拉刷新功能: enablePullDownRefresh
    然后, 利用页面的生命周期函数onPullDownRefresh监听下拉刷新操作触发的时机
    最后, 利用uni.stopPullDownRefresh方法结束下拉刷新动画