1208浏覽量

微信小(xiǎo)程序代碼構成概述

來源: 時間:2020-02-26

一(yī)般來說會包含以下(xià)4中(zhōng)類型的文件:

  1. .json 後綴的 JSON 配置文件
  2. .wxml 後綴的 WXML 模闆文件
  3. .wxss 後綴的 WXSS 樣式文件
  4. .js 後綴的 JS 腳本邏輯文件

一(yī):JSON 是一(yī)種數據格式,并不是編程語言,在小(xiǎo)程序中(zhōng),JSON扮演的靜态配置的角色。(例如:app.json 是當前小(xiǎo)程序的全局配置,包括了小(xiǎo)程序的所有頁面路徑、界面表現、網絡超時時間、底部 tab 等。)


這裏說一(yī)下(xià)小(xiǎo)程序裏JSON配置的一(yī)些注意事項。

JSON文件都是被包裹在一(yī)個大(dà)括号中(zhōng) {},通過key-value的方式來表達數據。JSON的Key必須包裹在一(yī)個雙引号中(zhōng),在實踐中(zhōng),編寫 JSON 的時候,忘了給 Key 值加雙引号或者是把雙引号寫成單引号是常見錯誤。

JSON的值隻能是以下(xià)幾種數據格式,其他任何格式都會觸發報錯,例如 JavaScript 中(zhōng)的 undefined。

  1. 數字,包含浮點數和整數
  2. 字符串,需要包裹在雙引号中(zhōng)
  3. Bool值,true 或者 false
  4. 數組,需要包裹在方括号中(zhōng) []
  5. 對象,需要包裹在大(dà)括号中(zhōng) {}
  6. Null

還需要注意的是 JSON 文件中(zhōng)無法使用注釋,試圖添加注釋将會引發報錯。


WXML模闆文件充當萬網頁編程中(zhōng)類似 HTML 的角色,其中(zhōng)小(xiǎo)程序的 WXML 用的标簽是 view, button, text 等等。React, Vue),小(xiǎo)程序提倡把渲染和邏輯分(fēn)離(lí)。簡單來說就是不要再讓 JS 直接操控 DOM,JS 隻需要管理狀态即可,然後再通過一(yī)種模闆語法來描述狀态和界面結構的關系即可,例如:目前最流行的前端開(kāi)發React和Vue框架。小(xiǎo)程序的框架也是用到了這個思路。

在WXML模闆中(zhōng)都是通過 {{ }} 的語法把一(yī)個變量綁定到界面上,我(wǒ)們稱爲數據綁定。要完整的描述狀态和界面的關系,還需要 if/else, for等控制能力,在小(xiǎo)程序裏,這些控制能力都用 wx: 開(kāi)頭的屬性來表達。


三:WXSS樣式文件 具有 CSS 大(dà)部分(fēn)的特性,小(xiǎo)程序在 WXSS 也做了一(yī)些擴充和修改。

  1. 新增了尺寸單位。在寫 CSS 樣式時,開(kāi)發者需要考慮到手機設備的屏幕會有不同寬度和設備像素比,采用一(yī)些技巧來換算一(yī)些像素單位。WXSS 在底層支持新的尺寸單位 rpx ,開(kāi)發者以免去(qù)換算的煩惱,隻要交給小(xiǎo)程序底層來換算即可,由于換算采用的浮點數運算,所以運算結果會和預期結果有一(yī)點點偏差。

  2. 供了全局的樣式和局部樣式。和前邊 app.jsonpage.json 的概念相同,你可以寫一(yī)個 app.wxss 作爲全局樣式,會作用于當前小(xiǎo)程序的所有頁面,局部頁面樣式 page.wxss 僅對當前頁面生(shēng)效。

  3. 此外(wài) WXSS 僅支持部分(fēn) CSS 選擇器。

四:JS邏輯交互  一(yī)個服務僅僅隻有界面展示是不夠的,還需要和用戶做交互:響應用戶的點擊、獲取用戶的位置等等。在小(xiǎo)程序裏邊,我(wǒ)們就通過編寫JS腳本文件來處理用戶的操作。

<view>{{ msg }}view> <button bindtap="clickMe">點擊我(wǒ)button> 

點擊 button 按鈕的時候,我(wǒ)們希望把界面上 msg 顯示成 "Hello World",于是我(wǒ)們在 button 上聲明一(yī)個屬性: bindtap ,在 JS 文件裏邊聲了 clickMe 方來響這次點擊操作:

Page({   clickMe: function() {     this.setData({ msg: "Hello World" })   } }) 

響應用戶的操作就是這麽簡單,更詳細的事件可以參考文檔 WXML - 事件 。

此外(wài)你還可以在 JS 中(zhōng)調用小(xiǎo)程序提供的豐富的 API,利用這些 API 可以很方便的調起微信提供的能力,例如獲取用戶信息、本地存儲、微信支付等。例如可以使用調用 wx.getUserInfo 獲取微信用戶的頭像和昵稱,最後通過 setData 把獲取到的信息顯示到界面上。

聯系我(wǒ)們

一(yī)次需求提交或許正是成就一(yī)個出色産品的開(kāi)始。
歡迎填寫表格或發送合作郵件至: qczsky@126.com

大(dà)理青橙科技

電(diàn)話(huà):13988578755 13988578755

郵箱:qczsky@126.com

地址:大(dà)理市下(xià)關龍都春天10層