微信小程序开发者「跳一跳」,小程序更强大了

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

2019-11-02  本文已影响0人  一只永不止步的龙

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>

系统组件:

具体使用参考:
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/


桥智科技:科技赋能梦想!专注广州、深圳和惠州小程序定制开发、APP 应用定制开发、网站开发、区块链钱包开发!

上一篇下一篇

猜你喜欢

热点阅读