微信小程序 三元运算符 条件语句if和循环语句for(三目运算+hidden)
来源:互联网 发布:php 拍卖 源码 手机 编辑:程序博客网 时间:2024/06/06 06:45
在微信小程序的官方文档中,将这两个语句归化在框架的视图层,分表叫条件渲染和类表渲染,其实他就是封装了这两条语句而已。
上图(循环语句if)
1.它是通过在index.js中设置数据,然后再index.wxml中进行判断,首先上index.wxml的代码。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
2.index.js的代码,
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
3.index.wxss的代码
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
注意:if和hidden的区别
二、循环语句for(其实在第8讲的button按钮中是有展示过的)
循环语句for呢,就是在index.js中把循环的数组,就是所有数据写进去,然后再index.wxml中进行逐一展示就行了。这里结合一下icon标签的属性
1.index.wxml
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
2.index.js
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
如果是嵌套循环怎么办?
上代码
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
上效果图
以地址列表中,默认地址是否选择为例。
先来看下wx:if的写法
<view class="set-default"> <!-- circle or success type --> <icon class="icon" type="success_circle" wx:if="{{item.isDefault}}"></icon> <icon class="icon" type="circle" wx:else></icon> <text>默认地址</text></view>
从上面的代码可以看出,<icon>标签要重复写2次,包括class样式等属性,设定某个地址为默认地址时将会有绑定事件bindtap等,还会有有data-index等自定义属性,如果是swiper、scroll-view等组件还少不了写上current、scroll-y附加属性就更加抓狂了;要是<icon>标签里还包含其他标签块,那就成几何倍增加冗余代码了,就不可想象了。到时候用wx:if写预计会长成这样:
<icon class="icon" bindtap="iconTapped" data-index="{{index}}" wx:if="{{item.isDefault}}" type="success_circle"></icon> <icon class="icon" bindtap="iconTapped" data-index="{{index}}" wx:else type="circle"></icon>
再来对比看下三元运算符的写法:
<view class="set-default"> <!-- circle or success type --> <icon class="icon" type="{{item.isDefault == true ? 'success_circle' : 'circle'}}"/> <text>默认地址</text></view>
与wx:if标签写法相比,显然更加简洁优雅。
由于小程序不能操作dom,三元运算符还有一个常用的使用场景是控件class样式输出,达到jQuery.addClass()的效果。例如:
<text class="viewpager-title {{current == 0 ? 'area-selected' : ''}}" bindtap="changeCurrent" data-current="0">{{provinceName}}</text>
以上书写形式参考了angular.js写法,在小程序中类比实现了。注意success_circle值要包裹在引号之中。小程序实际支持了三元运算符写法,只是文档上没有明说,比较遗憾。
wx:if文档出处:https://mp.weixin.qq.com/debug/wxadoc/dev/framework/view/wxml/conditional.html
源码下载:http://git.oschina.net/dotton/lendoo-wx,本文涉及代码存于/pages/address/list文件夹中。
- 微信小程序 三元运算符 条件语句if和循环语句for(三目运算+hidden)
- 微信小程序10---条件语句if和循环语句for(三目运算+hidden)
- 三元运算符和if语句格式
- If-else 语句 和 三元运算符
- Lesson_for_java_day05--java的三目运算符、if语句、switch语句、while循环、for循环
- if else条件语句和条件(三目)运算符的应用场合
- (三)JavaScript 的运算符,条件语句,循环语句..
- 三元运算和if ,else语句
- if语句、三元运算 、switch
- 三元运算符和if-else语句格式的关系
- Java基本语句(运算符、条件控制语句、for循环
- java基础学习二(三元运算符,if,switch,循环语句)
- 三目运算符、关系运算符优先级、if循环语句;
- 用条件运算符?代替if语句
- Java学习之三元运算符-if语句
- Java学习笔记(条件运算/运算符优先级/条件语句if/if..else/多重if/嵌套if)
- Java 一元、二元运算符、三目条件运算符(三元运算符)
- [TwistedFate]bool类型,关系运算符,逻辑运算符,程序的三种结构,条件表达式,枚举类型,if,switch语句
- Socket连接(进程间通信)
- zoj 1221
- js中判断返回的json字符串中是否有某个字段
- Shell脚本编程基础 二 构建基本脚本
- gulp安装&less插件教程
- 微信小程序 三元运算符 条件语句if和循环语句for(三目运算+hidden)
- C++文件读写详解(ofstream,ifstream,fstream)
- rpm包制作
- Linux中shell的小知识
- 无法识别USB设备
- 前端进阶——静态与动态获取标签的区别
- Centos Keras(2.0.4)+Theano(0.9.0)+OpenBLAS CPU方式配置
- PclZip 中文文档
- apache php mysql