1.項目結構:
1.1如圖
1.2. app.js結構:
//app.js
App({
//小程序生命週期函數
onLaunch: function () {
},
//全局變量
globalData: {
userInfo: null
}
})
app.js中最外層爲App({}), 方面需要一個對象,對象中有小程序生命週期函數、全局自定義函數、以及全局變量
1.3 index.js結構(頁面js結構):
//index.js
//獲取應用實例
const app = getApp()
Page({
//頁面局部變量
data: {
motto: 'Hello World',
},
//事件處理函數
bindViewTap: function() {
},
//頁面周期函數
onLoad: function () {
}
})
2. 事件:
2.1定義
- 事件是視圖層到邏輯層的通訊方式。
- 事件可以將用戶的行爲反饋到邏輯層進行處理。
- 事件可以綁定在組件上,當達到觸發事件,就會執行邏輯層中對應的事件處理函數。
- 事件對象可以攜帶額外信息,如 id, dataset, touches
2.2 特徵(小程序中bind開頭,html中on開頭):
點擊事件:bindtap,相當於onclick
3.生命週期函數,分小程序生命週期和頁面生命週期函數:
3.1 小程序生命週期函數定義在app.js中,
如: onLaunch: function(){}
3.2同時裏面還可以定義全局變量,在其他頁面js中通過如下方式獲取全局變量:
// other.js
const app = getApp()
console.log(app.globalData) // I am global data
3.3 小程序生命週期函數詳情:https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html
3.4 頁面生命週期函數:https://developers.weixin.qq.com/miniprogram/dev/reference/api/Page.html
4 組件(html標籤)
https://developers.weixin.qq.com/miniprogram/dev/component/view.html
5. 邏輯層將數據渲染到視圖層
MVVM 的開發模式(例如 React, Vue),提倡把渲染和邏輯分離。簡單來說就是不要再讓 JS
直接操控 DOM
,JS
只需要管理狀態即可,然後再通過一種模板語法來描述狀態和界面結構的關係即可
https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/index.html
6.事件
https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/event.html
7.api(相當於js提供的一些原生方法)
https://developers.weixin.qq.com/miniprogram/dev/api/index.html
8.模塊化,抽取公共方法或變量放到公共的js中,其他js引入:
https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/module.html