本文主要和大家分享微信小程序列表开发详解,主要以代码的形式和大家分享,希望能帮助到大家。

一.知识点

(一).列表渲染 wx:for

tip:wx:for=“array”可以等于参数名,在js中调用

Page({ data:{

array: [{name: '小李'},{ name: '小高'}]}

}),获取值;也可以直接把wx:for="{{[1, 2, 3]}}",把值放在上面

1.在组件上使用wx:for控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。

默认数组的当前项的下标变量名默认为index,数组当前项的变量名默认为item

{{index}}: {{item.message}}

var app = getApp()

Page({

data:{

items: [{

message: 'foo',

},{

message: 'bar'

}]

}

})

首先在wxml文件中wx:for后面的双重大括号中的items是一个数组,数组的元素如js中所见,在wx:for下面{{index}}:{{item.arry}}中index是items数组的下标,item.arry是数组中的元素也即是“a”和“b”。

2.使用wx:for-item可以指定数组当前元素的变量名。使用wx:for-index可以指定数组当前下标的变量名:

{{idx}}: {{itemName.name}}

var app = getApp()

Page({

data:{

array: [{

name: '小李',

},{

name: '小高'

}]

}

})

3.wx:for也可以嵌套

{{i}} * {{j}} = {{i * j}}

都不需要js

(二).block wx:for

类似block wx:if,也可以将wx:for用在标签上,以渲染一个包含多节点的结构块。

{{index}}:{{item.name}}

var app = getApp()

Page({

data:{

array: [{

name: '小李',

},{

name: '小高'

}]

}

})

(三).wx:key

如果列表中项目的位置会动态改变或者有新的项目添加到列表中,并且希望列表中的项目保持自己的特征和状态(如 中的输入内容, 的选中状态),需要使用 wx:key 来指定列表中项目的唯一的标识符。字符串,代表在 for 循环的 array 中 item 的某个 property,该 property 的值需要是列表中唯一的字符串或数字,且不能动态改变。

保留关键字 *this 代表在 for 循环中的 item 本身,这种表示需要 item 本身是一个唯一的字符串或者数字,如:

如不提供 wx:key,会报一个 warning,

如果明确知道该列表是静态,或者不必关注其顺序,可以选择忽略。

二.案例

1.用户中心列表

{{item.text}}

{{item.unreadNum}}

/**list.wxss**/

.weui_cell {

position: relative;

display: flex;

padding: 15px;

-webkit-box-align: center;

-ms-flex-align: center;

align-items: center;

border-bottom: 1px solid #dadada;

}

.weui_cell_hd {

display: inline-block;

width: 20px;

margin-right: 5px;

}

.weui_cell_hd image {

width: 100%;

height: 20px;

vertical-align: -2px;

}

.weui_cell_bd {

display: inline-block;

}

.weui_cell_bd_p {

font-size: 14px;

color: #939393;

}

.badge {

position: absolute;

top: 18px;

right: 40px;

width: 15px;

height: 15px;

line-height: 15px;

background: #ff0000;

color: #fff;

border-radius: 50%;

text-align: center;

font-size: 8px;

}

.with_arrow {

position: absolute;

top: 18px;

right: 15px;

width: 15px;

height: 15px;

background-image: url(../../dist/images/icon-arrowdown.png);

background-repeat: no-repeat;

background-size: 100% 100%;

}//list.js

var app = getApp()

Page( {

data: {

userInfo: {},

userListInfo: [ {

icon: '../../dist/images/iconfont-dingdan.png',

text: '我的订单',

isunread: true,

unreadNum: 2

}, {

icon: '../../dist/images/iconfont-card.png',

text: '我的代金券',

isunread: false,

unreadNum: 2

}, {

icon: '../../dist/images/iconfont-icontuan.png',

text: '我的拼团',

isunread: true,

unreadNum: 1

}, {

icon: '../../dist/images/iconfont-shouhuodizhi.png',

text: '收货地址管理'

}, {

icon: '../../dist/images/iconfont-kefu.png',

text: '联系客服'

}, {

icon: '../../dist/images/iconfont-help.png',

text: '常见问题'

}]

},

onLoad: function() {

var that = this

//调用应用实例的方法获取全局数据

app.getUserInfo( function( userInfo ) {

//更新数据

that.setData( {

userInfo: userInfo

})

})

}

})

相关推荐:

微信小程序详解 php,微信小程序列表开发详解相关推荐

  1. linux设备驱动开发详解源码,linux设备驱动开发详解光盘源码.rar

    压缩包 : linux设备驱动开发详解光盘源码.rar 列表 19/busybox源代码/busybox-1.2.1.tar.bz2 19/MTD工具/mtd-utils-1.0.0.tar.gz 1 ...

  2. linux设备驱动开发详解孔夫子,Linux设备驱动开发详解

    [内容简介] <Linux设备驱动开发详解(第2版)>是一本介绍linux设备驱动开发理论.框架与实例的书,<Linux设备驱动开发详解(第2版)>基于ldd6410开发板,以 ...

  3. 云开发周公解梦微信小程序源码/支持流量主功能

    ☑️ 编号:ym399 ☑️ 品牌:无 ☑️ 语言:微信小程序 ☑️ 大小:1.45MB ☑️ 类型:云开发周公解梦 ☑️ 支持:微信小程序

  4. 【OpenCV 4开发详解】Canny算法

    本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社发行所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4 ...

  5. 【OpenCV 4开发详解】方框滤波

    本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社发行所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4 ...

  6. 【OpenCV 4开发详解】图像金字塔

    本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社发行所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4 ...

  7. 【OpenCV 4开发详解】图像连通域分析

    本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社发行所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4 ...

  8. 【OpenCV 4开发详解】Laplacian算子

    本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社发行所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4 ...

  9. EasyPR中文开源车牌识别系统 开发详解

     在上篇文档中作者已经简单的介绍了EasyPR,现在在本文档中详细的介绍EasyPR的开发过程. 正如淘宝诞生于一个购买来的LAMP系统,EasyPR也有它诞生的原型,起源于CSDN的taotao ...

最新文章

  1. UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xb0 in position 0: invalid start byte
  2. barplot参数 python_Python零基础入门Python数据分析最好的实战项目
  3. C++中数字与字符串之间的转换 scanf string总结(复习必读)
  4. Cesium多屏展示
  5. [luoguP2221] [HAOI2012]高速公路(线段树)
  6. UI实用素材|设计直观和用户友好的404页面
  7. pat1032. Sharing (25)
  8. 概率论与数理统计——贝塞尔校正(Bessel‘s Correction)
  9. 极点五笔linux,Ubuntu 11.10安装极点五笔
  10. 这样的谷歌街景,你肯定没见过
  11. matlab画中国,用matlab绘制中国地图
  12. 经济机器是如何运行的
  13. 实验|三层交换机配置实例
  14. Angular 安全导航操作符(?.)和空属性路径
  15. OpenJDK源码赏析之三:Java命令参数的读取处理流程
  16. 应用程序无法正常启动0xc000007b的解决方法(PhotoScan为例)
  17. vue详解(一)概述和基础语法
  18. 解决报错Cannot connect to the Maven process. Try again later. If the problem persists......
  19. directives(Directives UE 93 42 CEE)
  20. 布局管理器——表格布局

热门文章

  1. 创建一个SpringBoot项目
  2. 5G + 智能制造 = 未来工厂
  3. cocos creator 加速器实现
  4. 华为工程师,带你实战C++(2016版)-王桂林-专题视频课程
  5. 学习笔记(2):华为工程师,带你实战C++视频精讲-Day1王桂林老师原创视频-C到C++类型安全增强...
  6. SCAU 数字电路 Digital Circuits and Logic Design 复习
  7. 苹果WWDC学习框架Core ML的发布,正式嵌入终端设备
  8. 苹果在GitHub上公布macOS和iOS内核源码
  9. 新人第一次学C++的第七个项目
  10. 竞争性谈判和招标的区别是什么?