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

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

文章目录

  • WXML
  • 数据绑定
  • WXML基本语法
  • 系统组件

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

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

  1. 微信小程序开发-页面跳转传递参数

    微信小程序开发-页面跳转传递参数 页面跳转有四种方式,分别为wx.navigateTo.wx.redirectTo.wx.reLaunch.wx.switchTab,前面三种可通过url路径携带参数实 ...

  2. 微信小程序开发系列 (四) :微信小程序的页面跳转路由设计

    笔者由于工作需要,曾经参加过一个微信小程序同 SAP 系统集成的项目,因此从零开始学习了微信小程序的开发知识.这里通过系列文章把自己所学分享出来,希望对相关学习者有所帮助. 本教程前面三篇文章: 微信 ...

  3. 微信小程序开发---页面生命周期

    微信小程序开发---生命周期 何为生命周期 小程序全局[app.js]---生命周期 小程序页面[pages/pagename.js]---生命周期 何为生命周期 生命周期是指一个事物从创建到销毁的一 ...

  4. 微信小程序开发页面总结-文档(ing)

    公共样式定义 /* 公共样式 */ page{height: 100%;background: #f7f7f7; } view,image,input,text,button,textarea {bo ...

  5. 微信小程序开发页面无法显示,未注册报错

    微信小程序开发 VM507 WAService.js:2 Page "pages/post/post" has not been registered yet 在对应的js文件中检 ...

  6. 微信小程序开发-页面跳转的几种方式

    最近在做微信小程序,碰到页面跳转的问题,总结一下页面之间跳转的方式 一.wx.navigateTo(OBJECT) 这是最普遍的一种跳转方式,其官方解释为:"保留当前页面,跳转到应用内的某个 ...

  7. 四十九、微信小程序开发页面样式WXSS和页面交互JS

    @Author:Runsen 一天不写博客,混身不爽.今天继续复习小程序中的WXSS和JS. 文章目录 WXSS JS WXSS WXSS(WeiXin Style Sheets)是一套样式语言,用于 ...

  8. 微信小程序开发教程:wxml

    wxml与html的区别 wxss与css的区别 数据绑定基本原则 在data中定义数据 在wxml中使用数据 Mustache语法应用场景 绑定内容(见上图实例) 绑定属性 运算(三元运算.算术运算 ...

  9. 微信小程序开发教程:项目四组件布局 课后习题

    <微信小程序开发教程>主编/黄寿孟 易芳 陶延涛 湖南大学出版社 目录 一.单选题 二.多选题 三.判断题 四.填空题 五.简答题 1.请简单地介绍微信小程序flex布局的使用. 2.如何 ...

最新文章

  1. php图片编辑失真,PHP上传真彩图片缩略图质量失真解决方法
  2. 人工智能tensorflow图的可视化
  3. python 基础 -- python 模块
  4. 什么是ooa,oop
  5. [转]简明 Nginx Location Url 配置笔记
  6. 【DP】【单调队列】【NOI2005】瑰丽华尔兹
  7. 高中会考计算机免考条件,高中会考学生听力残疾可免考外语听力
  8. c++ 判断数学表达式有效性_2009年高考数学上海卷难度如何?独特的题型设计,让你耳目一新...
  9. Scala 循环(打断嵌套循环)
  10. 设计模式---003代理模式---【巷子】
  11. 天正的计算机快捷命令大全,cad天正建筑快捷键命令大全(整理).doc
  12. oracle+tm+下载,腾讯TM2014官方下载|腾讯TM2013官方最新版 2013.7277 - 系统天堂
  13. 高德地图行政区域划分(西安)
  14. 9、电话区号信息API接口,免费好用
  15. 三分钟看懂什么是运维
  16. 一次和前端的相互甩锅的问题记录
  17. mysql时间串工具_时间戳_时间戳转换工具_阿波罗查询
  18. 一些dalao的模板
  19. hp扫描无法选择发送到计算机,HP Officejet Pro 8600打印机无法使用扫描到计算机的功能...
  20. 有华为的HCIP证书会更好找工作吗?

热门文章

  1. acf滞后数必须为正整数。_【知识点】“勾股定理”的必考点,必须掌握!
  2. 高并发解决方案_高并发提交订单的解决方案
  3. js处理时间的那些事
  4. IntelliJ Idea工具使用
  5. 【转】IE浏览器快捷键大全
  6. R语言学习笔记 (入门知识)
  7. hust 1605 bfs
  8. PHP用空格分割文本为数组的方法
  9. 软件压力测试linux服务器,使用http_load来给Linux系统的服务器做压力测试
  10. tcpdump 识别成dns_dns tcpdump