微信小程序的代码架构组织(4)- 视图层

2019-12-16  本文已影响0人  荒剑离

视图层由 WXMLWXSS 编写,由组件进行展示。

此外,还有 WXS 辅助 WXML 构建页面的结构。

WXML

即框架设计的一套标签语言,结合基础组件事件系统,可以构建出页面的结构。
配合相应的.js文件,其主要能力有:

<!--wxml-->
<view> {{message}} </view>
// page.js
Page({
  data: {
    message: 'Hello MINA!'
  }
})
<!--wxml-->
<view wx:for="{{array}}"> {{item}} </view>
// page.js
Page({
  data: {
    array: [1, 2, 3, 4, 5]
  }
})
<!--wxml-->
<view wx:if="{{view == 'WEBVIEW'}}"> WEBVIEW </view>
<view wx:elif="{{view == 'APP'}}"> APP </view>
<view wx:else="{{view == 'MINA'}}"> MINA </view>
// page.js
Page({
  data: {
    view: 'MINA'
  }
})
<!--wxml-->
<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>
// page.js
Page({
  data: {
    staffA: {firstName: 'Hulk', lastName: 'Hu'},
    staffB: {firstName: 'Shang', lastName: 'You'},
    staffC: {firstName: 'Gideon', lastName: 'Lin'}
  }
})

具体的能力以及使用方式在以下章节查看:

数据绑定列表渲染条件渲染模板引用

WXSS

即一套样式语言,决定 WXML 编写的组件应该怎么显示。定义在 app.wxss 中的样式为全局样式,作用于每一个页面。在 page 的 wxss 文件中定义的样式为局部样式,只作用在对应的页面,并会覆盖 app.wxss 中相同的选择器。
当前WXSS支持的选择器包括:.class#idelementelement, element::after::before
CSS 相比,WXSS 扩展的特性有二:

  1. 尺寸单位:rpx(responsive pixel)
    该单位可以根据屏幕宽度进行自适应,即不同屏幕分辨率的设备上1rpx可换算的像素值是不同的,但规定屏幕宽为750rpx。在iPhone6上,1rpx = 0.5px。建议开发可以用 iPhone6 作为视觉稿的标准。
  2. 样式导入:@import
    可以导入外联样式表,使用相对路径表示,并用;结束语句。
/** common.wxss **/
.small-p {
  padding:5px;
}
/** app.wxss **/
@import "common.wxss";
.middle-p {
  padding:15px;
}

此外,在组件上支持使用 styleclass 属性来控制组件的内联样式。

<view style="color:{{color}};" />
<view class="normal_view" />

WXS

即小程序的一套脚本语言,结合 WXML,可以构建出页面的结构。

完整了解 WXS 语法,请参考WXS 语法参考

上一篇 下一篇

猜你喜欢

热点阅读