• 正文概述
  • 售后服务
  • 聚合资源网为您分享:

    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>

    推荐教程:《微信小程序》

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


    聚合资源网 » 微信小程序页面开发

    常见问题FAQ

    发表评论