讀古今文學網 > 微信公眾平台開發:從零基礎到ThinkPHP5高性能框架實踐 > 21.2.4 視圖層 >

21.2.4 視圖層

框架的視圖層由WXML與WXSS編寫,由組件進行展示。框架將邏輯層的數據反映成視圖,同時將視圖層的事件發送給邏輯層。各個部分的功能說明如下。

·WXML(WeiXin Markup Language):用於描述頁面的結構,類似於HTML。

·WXSS(WeiXin Style Sheet):用於描述頁面的樣式,類似於CSS。

·組件(Component):是視圖的基本組成單元。

WXML是框架設計的一套標籤語言,結合基礎組件、事件系統,可以構建出頁面的結構。WXML具有下述能力:數據綁定、列表渲染、條件渲染、模板、事件、引用。以下WXML代碼展示了這些能力的使用方法。


<!--wxml-->
<view> {{message}} </view>

<view wx:for="{{array}}"> {{item}} </view>

<view wx:if="{{view == 'WEBVIEW'}}"> WEBVIEW </view>
<view wx:elif="{{view == 'APP'}}"> APP </view>
<view wx:else="{{view == 'MINA'}}"> MINA </view>

<template name="staffName">
    <view>
        FirstName: {{firstName}}, LastName: {{lastName}}
    </view>
</template>

<template is="staffName" data="{{...staffA}}"></template>
<template is="staffName" data="{{...staffB}}"></template>
<template is="staffName" data="{{...staffC}}"></template>

<view bindtap="add"> {{count}} </view>
  

相應的頁面數據如下。


// page.js
Page({
    data: {
        message: 'Hello MINA!'
        array: [1, 2, 3, 4, 5]
        view: 'MINA'
        staffA: {firstName: 'Hulk', lastName: 'Hu'},
        staffB: {firstName: 'Shang', lastName: 'You'},
        staffC: {firstName: 'Gideon', lastName: 'Lin'}
        count: 1
    },
    add: function(e) {
        this.setData({
            count: this.data.count + 1
        })
    }
})
  

WXSS是一套樣式語言,用於描述WXML的組件樣式。

WXSS用來決定WXML的組件應該怎麼顯示。WXSS具有CSS的大部分特性,同時也進行了尺寸單位和樣式導入的擴充及修改。