名著阅读 > 微信公众平台开发:从零基础到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的大部分特性,同时也进行了尺寸单位和样式导入的扩充及修改。