微信小程序开发|页面文件 wxml

mac2026-04-07  5

微信小程序开发|页面文件 wxml

WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构。

我觉得 WXML 通过三个纬度来介绍:纵向、横向、逻辑处理 . 这里先介绍个简单介绍,它们也是开发小程序的基础,需要的时候可以根据文档具体使用, 以后介绍具体功能时候再扩展。

纵向

纵向: 也就是组件的组合,包括:系统组件、第三方组件、自定义组件 .

例如:

<view class="container"> <view class="userinfo"> <image src="{{userInfo.avatarUrl}}" background-size="cover"></image> <text class="userinfo-nickname"> 用户名 </text> </view> </view>

系统组件:

视图容器:cover-image、cover-view、movable-area、movable-view、scroll-view、swiper、swiper-item、view基础内容:icon、progress、rich-text、text表单组件:button、checkbox、checkbox-group、editor、form、input、label、picker、picker-view、picker-view-column、radio、radio-group、slider、switch、textarea导航:functional-page-navigator、navigator媒体组件:audio、camera、image、live-player、live-pusher、video地图:map画布:canvas开放能力:ad、official-account、open-data、web-view原生组件说明:native-component无障碍访问:aria-component导航栏:navigation-bar页面属性配置节点:page-meta

具体使用参考: https://developers.weixin.qq.com/miniprogram/dev/component/native-component.html

第三方组件: 例如 WeUI 组件库等

自定义组件:自定义组件拥有自己的 wxml 模板和 wxss 样式

横向

横向: 组件的属性

属性名描述id唯一标识class样式表style内联样式hidden隐藏data-*事件传递数据bind* /catch*组件事件
逻辑处理

逻辑处理: 根据绑定好的数据决定怎么显示视图

数据绑定

<!--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' } })

用于包裹视图组件的 block

如果 wx:for、wx:if 要渲染视图容器,可以用 block 标签包裹,block 标签不是一个组件,只是一个用于包装的元素,不会被渲染,并且只接受 wx:… 控制属性。

block 和 wx:if:

<block wx:if="{{true}}"> <view> view1 </view> <view> view2 </view> </block>

block 和 wx:for:

<block wx:for="{{[1, 2, 3]}}"> <view> {{index}}: </view> <view> {{item}} </view> </block>

参考: https://developers.weixin.qq.com/miniprogram/dev/reference/wxml/

最新回复(0)