微信小程序基本知识于概念
微信小程序开发,入门算是非常简单,只要看官文文档即可小程序简易教程。如何申请小程序账号,如何开发自己第一个小程序,如何发布,这一系列hello world操作官方文档都有手把手教学。小程序开发的每个步骤,提供的能力文档里都有,个人觉得,做小程序开发,有事没事都看下文档,因为小程序更新比较快速,同时一些细小的能力我们可能会漏掉,所以多看文档。
简单说下目录结构和app.json
对于一个小程序项目而言,最重要的文件是app.json,它也是开发工具识别一个文件夹是否为小程序项目的标识。当使用开发者工具创建一个项目是,如果选择的是空文件夹,它会创建一个新的项目。如果是一个有文件的文件夹,它会看该文件夹中是否有app.jon文件,如果有,则它会认为是一个小程序项目,则会打开该项目,如果文件夹中没有app.json文件,则提示无法创建项目。
- pages
"pages": [
"pages/index/index",
"pages/log/log"
]
在app.json中,pages选项是必须配置的。该配置项注册了小程序所有页面的地址,其中每一项都是页面的 路径+文件名 。配置的字符串其实就是每个页面wxml路径,去掉.wxml后缀。因为框架会自动去寻找路径下.json、.js、.wxml、.wxss四个文件进行整合。也就意味着.json、.js、.wxss这三个文件的文件名必须要和.wxml的一致,否则不生效。所以一个页面至少必须得有.wxml文件。
- window
"window":{
"enablePullDownRefresh": ture,
"navigationStyle": "custom"
}
该配置项用于配置小程序的全局外观样式
- taBar
该选项可以让我们轻松实现导航栏tab效果,不过有个不足就是跳转可操作性非常低。就是每个tab只能跳当前小程序页面,不同跳到其他小程序。如果需要跳到其他小程序,还需自己封装个组件 - functionalPages
这个是结合插件使用的,因为微信小程序插件有很大限制,插件里提供的api很有限,wx.login 和 wx.requestPayment 在插件中不能使用,如果需要获取用户信息和进行支付,就必须通过插件提供的功能也实现。当你的小程序下的插件启用了插件功能也时,必须设置该选项为true
小程序插件必须挂载在一个微信小程序中,一个小程序也只能开通一个插件。当你小程序开通的插件启用了插件功能也时,必须设置该选项为true
- plugins
"plugins": {
"myPlugin": {
"version": "1.0.0",
"provider": "wxidxxxxxxxxxxxxxxxx"
}
}
当小程序使用了插件就必须在这里声明引入。小程序自身开通的小程序不能在本身应用
- navigateToMiniProgramAppIdList
"usingComponents": {
"hello-component": "plugin://myPlugin/hello-component"
}
使用自定义组件或者插件提供的组件前,必须先在这里声明
说一下微信小程序生命周期
-
应用生命周期
App() 必须在 app.js 中调用,必须调用且只能调用一次,app.js中定义了一些应用的生命周期函数
(1)onLaunch: 初始化小程序时触发,全局只触发一次
(2)onShow: 小程序初始化完成或用户从后台切换到前台显示时触发
(3)onHide: 用户从前台切换到后台隐藏时触发
(4)onError: 小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息
后台: 点击左上角关闭,或者按了设备 Home 键离开微信,并没有直接销毁,而是进入后台
前台:再次进入微信或再次打开小程序,相当于从后台进入前台。 -
组件生命周期
js文件中定义了一些页面生命周期函数,下面简述下这些生命周期函数的方法作用
(1)onLoad:首次进入页面加载时触发,可以在 onLoad 的参数中获取打开当前页面路径中的参数。
(2)onShow:加载完成后、后台切到前台或重新进入页面时触发
(3)onReady:页面首次渲染完成时触发
(4)onHide:从前台切到后台或进入其他页面触发
(5)onUnload:页面卸载时触发