微信小程序wx:for 的使用及wx:key绑定两种方式

 更新时间:2023年12月01日 10:54:12   作者:weixin_43364458  
wx:for是微信小程序中的一个列表渲染指令,用于循环渲染一个数组或对象中的数据,它类似于JavaScript中的for循环,可以根据数据的长度自动渲染相应的列表项,本文给大家介绍微信小程序wx:for 的使用及wx:key绑定两种方式,感兴趣的朋友一起看看吧

概述

  • wx:for基本使用
  • wx:for-item和wx:for-index重新命名item和index
  • wx:key两种绑定方式以及注意事项

wx:for基本使用

业务层数据

Page({
  data: {
    name: 'Leung',
  }
})

视图层
wx:for遍历时候每一项名称为item每一项索引名称为index

<view>
  <block wx:for="{{name}}" wx:key="item">
    <text>字符:{{item}}</text>
    <text>索引:{{index}}</text>
  </block>
</view>

wx:for-item和wx:for-index实现item和index重命名

wx:for-item="str"将原来名称item修改成str
wx:for-index="i将原来索引名称index修改成i

<view>
  <block wx:for="{{name}}" wx:key="str" wx:for-item="str" wx:for-index="i">
    <text>字符:{{str}}</text>
    <text>索引:{{i}}</text>
  </block>
</view>

wx:key绑定两种方式

方式一:item
方式二:*this 这个*this默认情况就是item

wx:for渲染存储对象的数组使用时候如何绑定wx:key

业务层数据

Page({
  data: {
    books:[
      {id:'001',name:'你不知道的JavaScript'},
      {id:'002',name:'JavaScript高级程序设计'}
    ]
  }
})

视图层绑定数据

以下不要直接使用wx:key="item"或者wx:key="*this"因为此时循环遍历的每一项数据都是键值对的对象。wx:key="{}"解析变量之后转换字符串底层原理就是({}).toString()最终渲染成[object Object]无法实现优化。wx:for="books"遍历时候自动解析对象每一个属性,可以直接wx:key="id"

<view>
  <block wx:for="{{books}}" wx:key="id" wx:for-item="book">
    <view>
      {{book.name}}
    </view>
  </block>
</view>

到此这篇关于微信小程序wx:for 的使用以及wx:key绑定的文章就介绍到这了,更多相关微信小程序wx:for 使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Webpack如何引入bootstrap的方法

    Webpack如何引入bootstrap的方法

    本篇文章主要介绍了Webpack如何引入bootstrap的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • bootstrap table实现横向合并与纵向合并

    bootstrap table实现横向合并与纵向合并

    这篇文章主要为大家详细介绍了bootstrap table实现横向合并与纵向合并,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • 7个去伪存真的JavaScript面试题

    7个去伪存真的JavaScript面试题

    这篇文章主要为大家分享了7个去伪存真的JavaScript面试题,希望本文可以帮助大家比较顺利的通过面试,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • swiper Scrollbar滚动条组件详解

    swiper Scrollbar滚动条组件详解

    这篇文章主要为大家详细介绍了swiper Scrollbar滚动条组件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • 使用js判断TextBox控件值改变然后出发事件

    使用js判断TextBox控件值改变然后出发事件

    这篇文章主要介绍了使用js判断TextBox控件值改变然后出发事件。需要的朋友可以过来参考下,希望对大家有所帮助
    2014-03-03
  • 微信小程序使用this.setData()遇到的问题及解决方案详解

    微信小程序使用this.setData()遇到的问题及解决方案详解

    this.setData估计是小程序中最经常用到的一个方法,但是要注意其实他是有限制的,忽略这些限制的话,会导致数据无法更新,下面这篇文章主要给大家介绍了关于微信小程序使用this.setData()遇到的问题及解决方案,需要的朋友可以参考下
    2022-08-08
  • 微信小程序上传图片实例

    微信小程序上传图片实例

    这篇文章主要为大家详细介绍了微信小程序上传图片实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • js菜单点击显示或隐藏效果的简单实例

    js菜单点击显示或隐藏效果的简单实例

    本篇文章主要是对js菜单点击显示或隐藏效果的简单实例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01
  • JavaScript中实现new的两种方式引发的探究

    JavaScript中实现new的两种方式引发的探究

    众所周知JS中new的作用是通过构造函数来创建一个实例对象,这篇文章主要给大家介绍了关于JavaScript中实现new的两种方式引发的相关资料,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • ES6中新增的Object.assign()方法详解

    ES6中新增的Object.assign()方法详解

    Object.assign方法用于对象的合并,将源对象( source )的所有可枚举属性,复制到目标对象( target ),下面这篇文章主要给大家介绍了关于ES6中新增的Object.assign()方法的相关资料,需要的朋友可以参考下。
    2017-09-09

最新评论