成品人精品区二区 四虎免费一区二区 欧美在线观看一区 欧美成人在线

1395瀏覽量

微信小程序代碼構(gòu)成概述

來源: 時(shí)間:2020-02-26

一般來說會(huì)包含以下4中類型的文件:

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

一:JSON 是一種數(shù)據(jù)格式,并不是編程語言,在小程序中,JSON扮演的靜態(tài)配置的角色。(例如:app.json 是當(dāng)前小程序的全局配置,包括了小程序的所有頁面路徑、界面表現(xiàn)、網(wǎng)絡(luò)超時(shí)時(shí)間、底部 tab 等。)


這里說一下小程序里JSON配置的一些注意事項(xiàng)。

JSON文件都是被包裹在一個(gè)大括號(hào)中 {},通過key-value的方式來表達(dá)數(shù)據(jù)。JSON的Key必須包裹在一個(gè)雙引號(hào)中,在實(shí)踐中,編寫 JSON 的時(shí)候,忘了給 Key 值加雙引號(hào)或者是把雙引號(hào)寫成單引號(hào)是常見錯(cuò)誤。

JSON的值只能是以下幾種數(shù)據(jù)格式,其他任何格式都會(huì)觸發(fā)報(bào)錯(cuò),例如 JavaScript 中的 undefined。

  1. 數(shù)字,包含浮點(diǎn)數(shù)和整數(shù)
  2. 字符串,需要包裹在雙引號(hào)中
  3. Bool值,true 或者 false
  4. 數(shù)組,需要包裹在方括號(hào)中 []
  5. 對象,需要包裹在大括號(hào)中 {}
  6. Null

還需要注意的是 JSON 文件中無法使用注釋,試圖添加注釋將會(huì)引發(fā)報(bào)錯(cuò)。


WXML模板文件充當(dāng)萬網(wǎng)頁編程中類似 HTML 的角色,其中小程序的 WXML 用的標(biāo)簽是 view, button, text 等等。React, Vue),小程序提倡把渲染和邏輯分離。簡單來說就是不要再讓 JS 直接操控 DOM,JS 只需要管理狀態(tài)即可,然后再通過一種模板語法來描述狀態(tài)和界面結(jié)構(gòu)的關(guān)系即可,例如:目前最流行的前端開發(fā)React和Vue框架。小程序的框架也是用到了這個(gè)思路。

在WXML模板中都是通過 {{ }} 的語法把一個(gè)變量綁定到界面上,我們稱為數(shù)據(jù)綁定。要完整的描述狀態(tài)和界面的關(guān)系,還需要 if/else, for等控制能力,在小程序里,這些控制能力都用 wx: 開頭的屬性來表達(dá)。


三:WXSS樣式文件 具有 CSS 大部分的特性,小程序在 WXSS 也做了一些擴(kuò)充和修改。

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

  2. 供了全局的樣式和局部樣式。和前邊 app.jsonpage.json 的概念相同,你可以寫一個(gè) app.wxss 作為全局樣式,會(huì)作用于當(dāng)前小程序的所有頁面,局部頁面樣式 page.wxss 僅對當(dāng)前頁面生效。

  3. 此外 WXSS 僅支持部分 CSS 選擇器。

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

<view>{{ msg }}view> <button bindtap="clickMe">點(diǎn)擊我button> 

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

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

響應(yīng)用戶的操作就是這么簡單,更詳細(xì)的事件可以參考文檔 WXML - 事件 。

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

聯(lián)系我們

一次需求提交或許正是成就一個(gè)出色產(chǎn)品的開始。
歡迎填寫表格或發(fā)送合作郵件至: qczsky@126.com

大理青橙科技

電話:13988578755 13988578755

郵箱:qczsky@126.com

地址:大理市下關(guān)龍都春天10層

如果您無法識(shí)別驗(yàn)證碼,請點(diǎn)圖片更換

景泰县| 奉新县| 平阴县| 天门市| 长泰县| 合山市| 布尔津县| 芷江| 洛浦县| 济南市| 方城县| 左权县| 临城县| 广宁县| 获嘉县| 乾安县| 徐州市| 峨边| 阳西县| 朔州市| 丰原市| 亳州市| 梨树县| 平谷区| 井研县| 抚顺县| 蕉岭县| 扶沟县| 礼泉县| 昭觉县| 鄂温| 淮北市| 遂昌县| 阿荣旗| 克东县| 金阳县| 衡南县| 布尔津县| 库车县| 革吉县| 长武县|