微信小程序面试题(个人学习)
文章目录
- 前言
- 1 微信小程序的相关文件类型
- 1. 1项目结构
- 1.2主要文件
- 2 简述微信小程序原理
- 3 小程序的双向绑定和vue哪里不一样
- 4 小程序的wxss和css有哪些不一样的地方?
- 5 小程序页面间有哪些传递数据的方法
- 6 小程序的生命周期函数
- 7 怎么封装微信小程序的数据请求?
- 8 请说一下小程序的授权登录?
- 9 哪些方法可以用来提高微信小程序的应用速度?
- 10 怎么解决小程序的异步请求问题?
前言
1 微信小程序的相关文件类型
1. 1项目结构
-WXML WeiXin Markup Language 是框架设计的一套标签语言 -WXSS WeiXin Style Sheets/ʃiːts/ 是一套样式语言,用于描述 WXML 的组件样式 -js 逻辑处理 -json 小程序设置
1.2主要文件
app.json,必须要有,没有的话项目无法运行 · app.js 必须要有,没有会报错 app.wxss 可选
2 简述微信小程序原理
* 微信小程序采用 JavaScript、WXML、WXSS 三种技术进行开发,一个单页面应用,所有页面对对渲染和事件处理,都在一个页面进行* 微信的架构,是数据驱动的架构模式,它的 UI 和数据是分离的,* 小程序分为两个部分 webview 和 appService/ˈsɜːvɪs/ 。* webview展示UI,appService处理逻辑/数据/接口调用。* 是多线程的* 通过JSBridge/brɪdʒ/ 实现通信,实现 UI 的渲染、处理事件
3 小程序的双向绑定和vue哪里不一样
小程序直接this.data的属性是不可以同步到视图的,必须调用
this.setData({//这里设置})主要是数据的更新 vue进行了数据劫持,小程序
4 小程序的wxss和css有哪些不一样的地方?
WXSS 和 CSS 类似,不过在 CSS 的基础上做了一些补充和修改* 尺寸单位 rpx ====响应式像素 可以根据屏幕宽度进行自适应。
* 规定屏幕宽为 750rpx。如在 iPhone6 上,屏幕宽度为 375px,共有 750 个物理像素,则 750rpx = 375px = 750 物理像素 1rpx=0.5像素
* 使用 @import 标识符来导入外联样式。
5 小程序页面间有哪些传递数据的方法
* 使用全局变量实现数据传递, 在app.js文件中定义全局变量globalData,讲需要存储的信息放在里面,使用的时候使用getApp()
* 使用wx.navigateTo与wx.redirectTo 的时候,可将部分数据放在url里面,并在新的页面 onLoad 的时候初始化
* - 需要注意的问题:wx.navigateTo 和 wx.redirectTo 不允许跳转到 tab 所包含的页面onLoad 只执行一次
* 本地缓存 Storage
6 小程序的生命周期函数
分为三步
- 全局生命周期函数
- 页面生命周期函数
- 组件生命周期函数
全局生命周期
* onLaunch(初始化完成时,全局触发一次)
* onshow(启动时调用)
* onhide(切换到后台)
* onError()
页面生命周期
onLoad 页面加载的时候触发。只执行一次onShow() 页面显示/切入前台的时候触发onReady()页面初次渲染的时候触发,只执行一次onHide()页面隐藏/切入后台时触发。 如 navigateTo 或底部 tab 切换到其他页面,小程序切入后台等。 监听页面加载onUnload()页面卸载时触发,如redirectTo或navigateBack到其他页面时。
组件生命周期:
created 组件实例刚创建时执行attached/əˈtætʃt/ 组件实例进入页面节点数时执行ready 视图布局完成后执行moved 组件被移动到节点数另一个位置时执行detached /dɪˈtætʃt/ 从页面节点树移除是执行error 抛出错误时执行
7 怎么封装微信小程序的数据请求?
用promise把 wx.request封装
8 请说一下小程序的授权登录?
9 哪些方法可以用来提高微信小程序的应用速度?
- 提高页面加载速度
- 用户行为预测
- 减少默认 data 的大小
- 组件化方案
10 怎么解决小程序的异步请求问题?
- 小程序支持大部分 ES6 语法- 返回成功的回调里处理逻辑- Promise 异步
微信小程序面试题(个人学习)相关推荐
- 微信小程序_基础组件学习02
微信小程序_基础组件学习02 swiper组件 swiper是滑块容器,也就是手机端的轮播图. swiper组件有两部分组成swiper和swiper-item. swiper-item需要放在swi ...
- 微信小程序 Springboot 英语单词学习激励系统uniapp
开发语言:Java 框架:ssm Springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 数据库工具:Navicat11 开发软件:eclipse/myeclips ...
- java基于微信小程序的英语在线学习考试系统 uniapp 小程序
网络技术的快速发展给各行各业带来了很大的突破,也给各行各业提供了一种新的管理技术,对于微信小程序的英语学习激励系统将又是一个传统管理到智能化信息管理的典型案例,对于传统的英语学习激励管理,所包括的信息 ...
- 微信小程序springboot英语在线学习系统-uniapp
框架:uniapp 开发软件:微信开发者工具 开发模式:混合开发 络技术的快速发展给各行各业带来了很大的突破,也给各行各业提供了一种新的管理技术,对于微信小程序的英语学习激励系统将又是一个传统管理到智 ...
- 页面生命周期_微信小程序的生命周期学习笔记-应用篇
在我们学习微信小程序的过程当中,我们会参考很多资料.在这些资料中,我们经常能够看到"生命周期"四个字,在前面的课程中也提到过.在这里做一个说明. 生命周期是一类函数的统称,这些函数 ...
- 微信小程序商城源码学习
微信小程序从申请appid到创建hello,收集了好久的源码资源.让你两天学会小程序开发. 经过一番学习,总算学会了小程序的开发,学会搭建后台服务器,接下来打算租个阿里云服务器,研究一下微信小游戏的开 ...
- 基于微信小程序的移动智能学习平台的设计开发和实现
随着移动互联网的不断发展,人们在移动终端不再局限于简单的学习,更多的是能智能帮助用户选择和分析.另一方面,如今知识范围广,知识量多,知识需求深,单纯的了解一个方向并不适应当今社会需.其次,伴随着资源分 ...
- JAVA微信小程序在线教育视频学习小程序系统毕业设计 开题报告
本文给出的java微信小程序系统毕业设计开题报告,仅供参考!(具体模板和要求按照自己学校给的要求修改) 选题目的和意义 目的:本课题主要目标是设计并能够实现一个基于微信小程序视频点播系统,前台用户使用 ...
- 微信小程序视频点播在线视频学习系统 毕业设计 课程设计(5)视频播放页面
wxml代码 <!--pages/shipin/vedio.wxml--><view class="biaoti">视频课程:微信小程序样式Flex Box ...
最新文章
- Google和Facebook为什么不用Docker?
- linux下压缩和解压的命令汇总
- 【转载】SAP物料账未分摊差异分析
- Mysql 提示:Communication link failure
- Linux文件系统和文本编辑器
- SQLServer子查询相关知识笔记
- 汽车软件开发的8种颠覆性趋势及国产自主可控的多领域全数字实时仿真平台SkyEye
- LINQ-to-SQL那点事~耳目一新的partial class 和 partial method
- 学习bert过程中的思考,少走弯路
- OpenCV关于隐马尔科夫模型的结构和函数
- 并发编程学习之阻塞队列ArrayBlockingQueue
- android原生桌面,谷歌官方出品的安卓原生桌面App 轻松干掉你手机上臃肿的的桌面!...
- 音响话筒鸣叫测试软件,音响助手:可跨平台USB测试麦,秒变手机测量话筒
- QQ互联本地测试【QQ互联第一步】
- react 跨域—— jsonp 跨域
- 安全管家安卓_手机管家和顽固木马专杀哪个更好用
- **********模拟新浪微博*********
- 【调剂】上海海洋大学大数据和遥感方向接收硕士调剂
- QQ空间花匠免费代码
- LINUX防火墙开放端口,查看状态,查看开放端口
热门文章
- JAVA+TEXT+小说速读训练器
- Ubuntu将Dock栏设置成Mac样式
- macOS Catalina 10.15.4(19E287)原版镜像 by OpenCore-0.5.8-04-07编译版
- 安装msys2遇到的问题整理
- mysqli info
- 艾默生701PGNKF电池的回收与利用
- zabbix监控阿尔法特(OmniStack LS 6248)交换机
- STM32cubeMX将STM32F767+LAN8720+LwIP+FreeRTOS的以太网实现
- libjpeg-turbo的使用
- swapidc鸟云模板kyuan源码