四十七、微信小程序开发页面结构WXML

举报
毛利 发表于 2021/07/15 02:23:51 2021/07/15
2.3k+ 0 0
【摘要】 这年头,一天不学习,天理难容。 还是赶紧复习微信小程序的知识,加大学习力度。 文章目录 WXML数据绑定WXML基本语法系统组件 WXML WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构。 一个微信小程序就是由以上几个部分组成的。对于前端开发人肯定都知道。在前端中存 在...

这年头,一天不学习,天理难容。

还是赶紧复习微信小程序的知识,加大学习力度。

WXML

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

一个微信小程序就是由以上几个部分组成的。对于前端开发人肯定都知道。在前端中存
在 html 、 css 、 js ,其实就分别对应的是小程序中的 wxml 、 wxss 、 js 文件。其中小程序中的 wxml 中的标签和语法,稍微和 html 有点不一样。 wxss 语法采用的都是大部分的 css 语法,并且增加了导入的功能。

数据绑定

在很多时候,view其实就是span标签的意思。下面就是小程序中的Hello world

但是小程序中的数据一般情况下需要动态的从服务端获取,然后再道染输出到视图中显示。
WXML中的动态数据均来自对应Page的data。数据绑定使用 Mustache语法(双大括号)将变量包起来。

其实双大括号就是Django的模板变量,总而言之一句话:需要使用js中传过来的值,就必须使用双大花括号。

WXML基本语法

WXML的语法,和一些模板语法比如Django中的模板语法非常的类似。其实就是条件渲染,列表渲染。

1.	在指定的标签中使用 wx:if="条件" ,如果条件成立,则会渲染这个标签。示例代码如下:
 <view wx:if="{{age > 18}}"> 进入网吧
 </view>
2.	else 和 elif 可以直接在 if 下面使用。示例代码如下:
 <view wx:if="{{weather == '晴天'}}"> 出去旅游
 </view>
 <view wx:elif="{{weather == '阴天'}}"> 去逛街
 </view>
 <view wx:else> 哪里都不去
 </view>
注意:elif和else只能跟在if后面,否则会报错
3.	如果需要通过条件来判断是否需要渲染一组标签,那么可以使用 block 。示例代码如下:
 <block wx:if="{{weather == '晴天'}}"> <view> 出去旅游 </view>
 </block>
 <block wx:elif="{{weather == '阴天'}}"> <view> 去逛街 </view>
 </block>
 <block wx:else> <view> 哪里都不去 </view>
 </block>

  
 

列表渲染:

1.	通过语法 wx:for="{{列表}}" 来渲染一个列表。示例代码如下:
 <view wx:for="{{[1,2,3,4]}}"> {{item}} </view>
2.	循环中,默认的下标名称是 index ,默认的值的名称是 item 。如果想要修改循环列表的值和下标的名称,那
么可以通过 wx:for-index 和 wx:for-item 来指定。示例代码如下:
 <view wx:for="{{[1,2,3,4]}}" wx:for-index='idx' wx:for-item="value"> {{index}}/{{value}} </view>

  
 

这里会报Now you can provide attr wx:keyfor a wx:for to improve performance.,无视即可。

下面代码是一个九九乘法表
`

<view wx:for="{{[1, 2, 3, 4, 5, 6, 7, 8, 9]}}" wx:for-item="i">
  <view wx:for="{{[1, 2, 3, 4, 5, 6, 7, 8, 9]}}" wx:for-item="j"> <view wx:if="{{i <= j}}"> {{i}} * {{j}} = {{i * j}} </view>
  </view>
</view>

  
 

具体使用参考:https://developers.weixin.qq.com/miniprogram/dev/reference/wxml/list.html

系统组件

下面补充下小程序的系统组件,下一篇继续复习。

  • 视图容器: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

文章来源: maoli.blog.csdn.net,作者:刘润森!,版权归原作者所有,如需转载,请联系作者。

原文链接:maoli.blog.csdn.net/article/details/107532760

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。