小程序面试题
创始人
2024-03-05 14:22:39
0

文章目录

    • 1. 微信小程序
      • 1.1如何获取用户的授权信息
      • 1.2数据绑定与列表渲染如何实现
      • 1.3页面跳转方式
      • 1.4 tabBar配置参数有哪些
      • 1.5页面生命周期包含那几个?
      • 1.6 如何获取地理位置
      • 1.7 小程序通过哪些方法传值
      • 1.8 bindTap与catchTap的区别
      • 1.9 五个路径跳转方法的区别
      • 1.10 如何分包加载,分包加载的优势
      • 1.11小程序有哪些提升性能的方法
      • 1.12 微信小程序与Vue的区别
      • 1.13微信小程序的优劣势?
      • 1.14小程序登录流程

1. 微信小程序

1.1如何获取用户的授权信息

  • 通过wx.getUserProfile()方法
  • 小程序的wx.getSetting()方法

1.2数据绑定与列表渲染如何实现

mustache语法数据渲染,wx:for 渲染列表

1.3页面跳转方式

  1. 声明式导航,使用navigator组件实现页面的跳转
  2. 编程式导航,使用小程序提供的API实现页面的跳转
    2. 1 wx.switchTab() 跳转至tabBar页面,并关闭其他所有非 tabBar 页面
    wx.switchTab({url: '/pages/logs/logs'})
  1. 2 wx.navigateTo() 此方法不会关闭当前页面,且页面最多层叠10层(非tabBar页面)
  wx.navigateTo({url: '../index/index'})
  1. 3wx.navigateBack() 返回上一页

1.4 tabBar配置参数有哪些

属性类型描述
colorHexColortab上的文字颜色
selectedColorHexColor文字选中颜色
backgroundColorHexColortab背景颜色
listArraytabBar的列表,最少2个最多5个

1.5页面生命周期包含那几个?

  1. onload()页面加载时触发,可以在onLoad的参数中获取打开当前页面的路径的参数
  2. onShow() 页面显示或切入前台时触发
  3. onReady()页面初次渲染完成后触发,这是可以和视图层进行交互
  4. onHide() 页面隐藏或切入时触发
  5. onUnload() 页面卸载时触发

1.6 如何获取地理位置

  • 首先通过wx.openSetting接口拿到用户授权,在拿到用户授权以后 ,使用wx.getLocation接口获取当前位置的经纬度,然后结合第三方地图接口查询区域信息

1.7 小程序通过哪些方法传值

  1. 标签传值
    • 通过给标签添加 data-属性名 属性并赋值,然后绑定 tap 事件获取事件 event 中的 target.dataset.
点击获取值
//在JS中获取值
Page({myTap (e) {let index = e.target.dataset.indexconsole.log(index) // 10}
})
  1. navigator标签传值

  1. 调用微信 API wx.navigateTo(Object)传值
点击跳转并传值
//在JS中获取值
skip (id) {wx.navigator({url: "/page/index/index?id=" + parsetInt(id)})
}

1.8 bindTap与catchTap的区别

  • 相同点:都是点击事件
  • 不同点 :bindTap不会阻止事件冒泡,catachTap 是阻止事件冒泡的

1.9 五个路径跳转方法的区别

  1. wx.navigateTo():保留当前页面,跳转到应用中的某一个页面,但是不能跳转到tabBar 页面
  2. wx.redirectTop: 关闭当前页面,跳转到应用内的某一个页面,但是不允许跳转到tabBar页面
  3. wx.switchTab:跳转到tabBar页面,并关闭其他所有非tabBar的页面
  4. wx.navigateBack() 关闭当前页面,返回上一页面或多级页面
  5. wx.relaunch() 关闭所有页面,打开到应用的某个页面

1.10 如何分包加载,分包加载的优势

  • 优点: 解决项目体积过大,提高渲染效率,方便协同开发

1.11小程序有哪些提升性能的方法

  1. 减少this.setData 的调用次数,可以将多次的setData合并为一次
  2. 减少每次的setData的数据传输量,保证精准的传递只更改的数据

1.12 微信小程序与Vue的区别

  1. 声明周期不一样 ,微信小程序的生命周期比较简单
  2. 数据绑定不同 ,小程序的数据绑定用{{}} mastach语法 vue直接绑定data中的数据
  3. 显示隐藏不同 Vue中v-if ,v-show 小程序是 wx:if与hidden
  4. 处理事件不同
  5. 数据的双向绑定不同 Vue中,直接在Input标签中使用v-model绑定data中的数据 ,而小程序中必须在 this.setData({})中进行数据的驱动

1.13微信小程序的优劣势?

优势:

  1、无需下载,通过搜索和扫一扫就可以打开。2、良好的用户体验:打开速度快。3、开发成本要比App要低。4、安卓上可以添加到桌面,与原生App差不多。5、为用户提供良好的安全保障。小程序的发布,微信拥有一套严格的审查流程,不能通过审查的小程序是无法发布到线上的。

劣势:

 1、限制较多。页面大小不能超过1M。不能打开超过5个层级的页面。2、样式单一。小程序的部分组件已经是成型的了,样式不可以修改。例如:幻灯片、导航。3、推广面窄,不能分享朋友圈,只能通过分享给朋友,附近小程序推广。其中附近小程序也受到微信的限制。5、依托于微信,无法开发后台管理功能。

1.14小程序登录流程

登录流程

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
带头循环双向链表来咯!!! 前言:继上文,我们了解了结构最简单的一种链表---单链表那么我们今天就来...