# WXML 基础

WXML(WeiXin Markup Language)是框架设计的一套标签语言,用来描述界面结构。这也被称为页面的 模板

最简单的例子可参考 WXML 快速入门

WXML 的写法类似于 HTML 和 XML,但又有所差异。简单来说,它们都主要都基于标签。

WXML 语法根据 组件框架 的不同而有细微差异。

# 注释

<!----> 之间是注释,不会用于界面渲染。注释不能写在标签内部。

# 标签

标签分为起始标签 <...> 和闭合标签 </...>

<view> <!-- 起始标签 -->
</view> <!-- 闭合标签 -->

起始标签必须有对应的闭合标签。如果标签内部没有内容,可以使用自闭合标签 <.../>

<view /> <!-- 自闭合标签 -->
<!-- 等价于 -->
<view></view>

通常来说,标签对应着组件;但也有些特殊的 框架标签 并不对应于组件,而是承担特殊的框架语义。

# 属性

起始标签和自闭合标签内部可以放入属性。属性有对应的属性值。

<image src="https://res.wx.qq.com/wxdoc/dist/assets/img/0.4cb08bb4.jpg"></image>
<!-- 或者 -->
<image src="https://res.wx.qq.com/wxdoc/dist/assets/img/0.4cb08bb4.jpg" />

有些属性的属性值可以省略。

<view hidden> 这些文字会被隐藏 </view>

标签上具体支持哪些属性,取决于标签对应的组件。

  • 内置组件 所支持的组件属性可以参考它们各自的文档。
  • 自定义组件 则取决于自定义组件自身定义的 property。
  • 框架本身还有一些 框架属性 ,对所有组件都有效。

# 文本内容

标签之间可以放入文本内容。

<view> 你好,世界! </view>

# 转义符

WXML 的转义符与 XML entities 保持一致。其中最重要的有这些:

原始字符 转义后
< &lt;
> &gt;
" &quot;
& &amp;
<view> 1 + 2 &lt; 4 </view> <!-- 即 1 + 2 < 4 -->

glass-easel 组件框架完全使用标准 XML entities 作为转义符;对于 exparser 组件框架,属性值内部应使用反斜杠 \ 来转义。

对于数据绑定内部的转义,应使用 JS 转义符。

# meta 标签

仅 glass-easel 组件框架支持

<!...> 这样的标签是 meta 标签。它没有结束标签。

meta 标签默认没有任何语义。它是为第三方模版编译中间件预留的。