微信小程序页面开发
我觉得 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>
推荐教程:《微信小程序》
以上就是微信小程序页面开发的详细内容,更多请关注其它相关文章!
上一篇: 微信用户与姓名不匹配是什么意思?
下一篇: 微信小程序调用图片安全API