欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  微信小程序

微信小程序页面开发

程序员文章站 2021-12-25 11:58:48
...
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>

推荐教程:《微信小程序

以上就是微信小程序页面开发的详细内容,更多请关注其它相关文章!

相关标签: 微信小程序