1、編寫helloWord的簡單步驟
(1)、第一步:需要寫index.wxml的頁面
有變量值,可以通過他來設置。
(2)第二步:我們進行佈局,就是index.wxss
(3)第三步:就是寫js的樣式,功能性的邏輯
(4)第四步:app.json就是進行數據之間傳送綁定數據
https://jingyan.baidu.com/article/ca00d56c226caee99febcf63.html
https://blog.csdn.net/qq_38674970/article/details/81740640
(5)
2、一般都需要申請一個小程序的id
代碼構成
(1)app.json
是當前小程序的全局配置,包括了小程序的所有頁面路徑、界面表現、網絡超時時間、底部 tab 等。
我們簡單說一下這個配置各個項的含義:
-
pages
字段 —— 用於描述當前小程序所有頁面路徑,這是爲了讓微信客戶端知道當前你的小程序頁面定義在哪個目錄。 -
window
字段 —— 定義小程序所有頁面的頂部背景顏色,文字顏色定義等。
(2)工具配置 project.config.json
通常大家在使用一個工具的時候,都會針對各自喜好做一些個性化配置,例如界面顏色、編譯配置等等,當你換了另外一臺電腦重新安裝工具的時候,你還要重新配置。
(3)頁面配置 page.json
這裏的 page.json
其實用來表示 pages/logs 目錄下的 logs.json
這類和小程序頁面相關的配置。
因此我們提供了 page.json
,讓開發者可以獨立定義每個頁面的一些屬性,例如剛剛說的頂部顏色、是否允許下拉刷新等等。
(4)WXML 模板
從事過網頁編程的人知道,網頁編程採用的是 HTML + CSS + JS 這樣的組合,其中 HTML
是用來描述當前這個頁面的結構,CSS
用來描述頁面的樣子,JS
通常是用來處理這個頁面和用戶的交互。
同樣道理,在小程序中也有同樣的角色,其中 WXML
充當的就是類似 HTML
的角色。
小程序的 WXML
用的標籤是 view
, button
, text
等等
多了一些 wx:if
這樣的屬性以及 {{ }}
這樣的表達式
因此就有了 MVVM 的開發模式(例如 React, Vue),提倡把渲染和邏輯分離。簡單來說就是不要再讓 JS
直接操控 DOM
,JS
只需要管理狀態即可,然後再通過一種模板語法來描述狀態和界面結構的關係即可。
小程序的框架也是用到了這個思路,如果你需要把一個 Hello World
的字符串顯示在界面上。
WXML 是這麼寫 :
<text>{{msg}}</text>
JS 只需要管理狀態即可:
this.setData({msg: 'Hello World'})
通過 {{ }}
的語法把一個變量綁定到界面上,我們稱爲數據綁定。僅僅通過數據綁定還不夠完整的描述狀態和界面的關係,還需要 if
/else
, for
等控制能力,在小程序裏邊,這些控制能力都用 wx:
開頭的屬性來表達。
(5)WXSS 樣式
WXSS
具有 CSS
大部分的特性,小程序在 WXSS
也做了一些擴充和修改
-
新增了尺寸單位。在寫
CSS
樣式時,開發者需要考慮到手機設備的屏幕會有不同的寬度和設備像素比,採用一些技巧來換算一些像素單位。WXSS
在底層支持新的尺寸單位rpx
,開發者可以免去換算的煩惱,只要交給小程序底層來換算即可,由於換算採用的浮點數運算,所以運算結果會和預期結果有一點點偏差。 -
提供了全局的樣式和局部樣式。和前邊
app.json
,page.json
的概念相同,你可以寫一個app.wxss
作爲全局樣式,會作用於當前小程序的所有頁面,局部頁面樣式page.wxss
僅對當前頁面生效。 -
此外
WXSS
僅支持部分CSS
選擇器
(6)JS 交互邏輯
一個服務僅僅只有界面展示是不夠的,還需要和用戶做交互:響應用戶的點擊、獲取用戶的位置等等。在小程序裏邊,我們就通過編寫 JS
腳本文件來處理用戶的操作。
<view>{{ msg }}</view>
<button bindtap="clickMe">點擊我</button>
點擊 button
按鈕的時候,我們希望把界面上 msg
顯示成 "Hello World"
,於是我們在 button
上聲明一個屬性: bindtap
,在 JS 文件裏邊聲明瞭 clickMe
方法來響應這次點擊操作:
Page({
clickMe() {
this.setData({msg: 'Hello World'})
}
})
此外你還可以在 JS 中調用小程序提供的豐富的 API,利用這些 API 可以很方便的調起微信提供的能力,例如獲取用戶信息、本地存儲、微信支付等。在前邊的 QuickStart 例子中,在 pages/index/index.js
就調用了 wx.getUserInfo
獲取微信用戶的頭像和暱稱,最後通過 setData
把獲取到的信息顯示到界面上。