小程序開發(fā)框架組成

小程序開發(fā)框架組成

WXML(WeiXin Markup language)

框架設(shè)計(jì)的一套標(biāo)簽語(yǔ)言,結(jié)合組件、WXS的事件系統(tǒng),可以構(gòu)建出頁(yè)面的結(jié)構(gòu)

語(yǔ)法 <開始標(biāo)簽>...</結(jié)束標(biāo)簽>

語(yǔ)言特性 |
---|---
數(shù)據(jù)綁定 |
列表渲染 |
條件渲染 |
模版引用 |

==數(shù)據(jù)綁定==

<!--index.wxml>
<view>
  <text>{{messgae}}</text>
</view>

// index.js 所有組件和屬性命名需要小寫
page({
    data: {
        messgae: "Hello World"
    }
})

屬性

屬性名 類型 描述 注解
id String 組件的唯一標(biāo)示 保持整個(gè)頁(yè)面唯一
class String 組件樣式類 在對(duì)應(yīng)的WXSS中定義的樣式類
style String 組件內(nèi)聯(lián)樣式 動(dòng)態(tài)設(shè)置
hidden Boolean 組件是否顯示2 默認(rèn)顯示
data-* Any 自定義屬性 觸發(fā)事件時(shí),發(fā)送事件處理函數(shù)
bind/catch EventHandler 組件的事件

==列表渲染==

// block不是組件 是一個(gè)包裝元素
<block wx:for="{{items}}" wx:for-item="item" wx:for="index">
</block>

==條件渲染==

// index.wxml
<view>今天吃什么?</view>
<view wx:if="{{condition == 1}}"></view>
<view wx:elif="{{condition == 2}}"></view>
<view wx:else></view>
</view>

==模版引用==

// index.wxml
<template name="tempItem">
<view>
</view>
</template>

<template is="tempItem" data="{{}}"></template>

#import 引入目標(biāo)文件的template模版 作用域 
WXSS(WeiXin Style Sheets)

是一套樣式語(yǔ)言,用于描述WXML的組件樣式

CSS(Cascading Style Sheets): 一種樣式表語(yǔ)言,用來(lái)描述HTML或XML文檔的呈現(xiàn)

width height position color border

==尺寸單位==

設(shè)備樣式(devices pixels) 屏幕上的像素點(diǎn)

CSS像素(CSS pixels) CSS樣式上使用的邏輯像素

PPI/DPI(pixel per inch) 每英寸所擁有的像素?cái)?shù)目,數(shù)值越大,顯示屏的密度越高

DPR(device pixel Ratio) 手機(jī)上某一方向上設(shè)備像素和CSS像素之比

rpx: 規(guī)定屏幕為750個(gè)rpx

==樣式導(dǎo)入==(靜態(tài)樣式)

@import 樣式導(dǎo)入

/** index.wxml **/
<view class="container">
  Hello World
</view>

/** index.wxss **/
@import './assets.wxss';
.container {
    color: red;
}

/** assets.wxss **/
.container {
    border: 1px solid #000;
}

==內(nèi)聯(lián)樣式== (動(dòng)態(tài)樣式)

<!--index.wxml-->
<view style="width:500rpx;height:30px;background-color:{{colorValue}}">
    Hello World!
</view>

<!--index.js-->
Page({
    data: {
        colorValue: 'red';
    }
})

==選擇器==

class .intro 選擇所擁有class="intro"的組件

#id #firstname 選擇擁有id="firstname"的組件

element view 選擇view組件

element, elemwnt view, checkbox 選擇所有文檔的view的組件和所擁有的checkbox組件

::after view::after 選擇view組件后邊插入的內(nèi)容

::before view::before 選擇view組件前邊插入的內(nèi)容

==優(yōu)先級(jí)==

!import

/** index.wxss **/
.title {
    color: red !import;
}

style 1000

#element 100

.element 10

element 1

WXS 小程序自己的一套腳本語(yǔ)言

模塊

<!--inedex.wxml-->
<wxs module="m1">
   module.exports = {
       message: 'Hello, World'
       }
 </wxs>
 
 <view> {{m1.message}} </view>

變量

注釋

// 單行注釋
/* 多行注釋
var v = 1;
*/

運(yùn)算符

基本運(yùn)算符 一元運(yùn)算符 位運(yùn)算符 比較運(yùn)算符 等值運(yùn)算符 賦值運(yùn)算符 二元邏輯運(yùn)算符

語(yǔ)句

與Java Script基本一致,除了不支持try catch類型

數(shù)據(jù)類型

number string boolean object array function date regexp

基礎(chǔ)類庫(kù)

Number Date Global console Math JSON

Java Script

Java Script 是一種輕量的、解釋型的、面向?qū)ο蟮念^等函數(shù)語(yǔ)言,是一種動(dòng)態(tài)的基于原型和多范式的腳本語(yǔ)言,支持面向?qū)ο?、命令式和函?shù)式的編程風(fēng)格?!禞ava Script 高級(jí)程序設(shè)計(jì)》 《Java Script權(quán)威指南》推薦閱讀。

小程序中的Java Script: ECMAScript 小程序框架 小程序API

瀏覽器中的Java Script: ECMAScript DOM(對(duì)象模型) BOM(文檔對(duì)象模型)

Nodejs中的Java Script: ECMAScript Native(原生模塊) NPM(包管理系統(tǒng))

ECMAScript 腳本程序設(shè)計(jì)語(yǔ)言

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容