微信小程序学习笔记——WX:key的使用

这篇具有很好参考价值的文章主要介绍了微信小程序学习笔记——WX:key的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

wx:key作用介绍:

wx:key一般是用在wx:for或者其他需要动态渲染的地方,采用wx:key可以对渲染列表中的元素给定唯一标识,使当我们的数组发生改变时,渲染中的原数据可以保持自己的特性。

举个例子,现在有个点击按钮勾选的例子,当我们勾选羔羊排骨一条,点击增加数据后,羔羊排骨左侧的被选中状态按理来说是应该一直跟随羔羊排骨的,但是我们可以发现被选中按钮并没有跟随羔羊排骨变化,而是哪个数据是第一个哪个数据就是被选中状态,这就是因为我们在写for循环时没有添加wx:key没有给定数据一个唯一的标识导致算法无法固定原有数据的渲染。

图片来源:微信小程序wx:key的使用

wx:key,微信小程序,学习,笔记

当我们采用wx:key之后,原数据的渲染状态就不会改变了

wx:key,微信小程序,学习,笔记

wx:key的使用

wx:key的使用很简单,就是对我们数组中的每个数据给定一个唯一的标识就行

常用的标识:

1、wx:key="*this"

*this表示数组中元素本身,采用*this当wx:key时数组中的每个元素必须是不重复的,举个例子

//如果我在data中定义了两个数组arr,arr2,用于for循环渲染

arr=[

"小明",

"小红",

"小黄"

]

arr2=[

"小明",

“小明”

],

 可以从上述定义的arr数组中发现,在arr数组中定义的元素:“小明”、“小红”、“小黄”都是不重复的所以可以采用*this作为wx:key,但是在arr2中定义的两个元素是重复的都是“小明”因此不能采用*this作为wx:key。

2.在定义元素时为每组元素定义一个唯一标识采用唯一标识作为wx:key

//在data中定义一个数组arr进行渲染

arr=[

{
id:1,

name:"小明"

},

{

id:2,

name:"小明"

},

]

在定义arr数组时,由于name元素有可能重复因此为每个元素定义了一个id,每组元素的id都不一样因此可以采用id作为wx:key,wx:key="id"

参考文章:

【小程序】006 详解wx:key - 知乎

微信小程序wx:key的使用文章来源地址https://www.toymoban.com/news/detail-733344.html

到了这里,关于微信小程序学习笔记——WX:key的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序使用本地存储方法(wx.setStorageSync()和wx.getStorageSync())

    微信小程序的本地存储可以使用wx.setStorageSync()和wx.getStorageSync()方法实现,这里为您介绍一下使用本地存储的流程。 设置数据:使用wx.setStorageSync()方法可以将数据以键值对的方式存储到本地存储中。例如,要将名为\\\"username\\\"的用户名称存储到本地存储中,可以使用以下代码:

    2024年02月11日
    浏览(57)
  • 微信小程序使用本地存储方法wx.setStorageSync()和wx.getStorageSync()

    微信小程序的本地存储可以使用wx.setStorageSync()和wx.getStorageSync()方法实现 使用wx.setStorageSync()方法可以将数据以键值对的方式存储到本地存储中: 获取数据:使用wx.getStorageSync()方法可以从本地存储中获取数据: 更新数据:要更新已经存在的数据,只需重新使用wx.setStorageSync

    2024年02月11日
    浏览(58)
  • 微信小程序 wx:if使用

    在微信小程序中,可以使用 wx:if 指令来控制某个元素是否需要被渲染到页面上。根据条件表达式的结果, wx:if 指令决定元素是否显示。 下面是使用 wx:if 的基本示例: 在上述代码中, wx:if 指令的值为一个条件表达式 {{condition}} ,根据该条件表达式的结果决定是否渲染 view 元

    2024年02月09日
    浏览(55)
  • 微信小程序弹窗提示:wx.showToast、wx.showModal、wx.showLoading的使用场景与实现

    使用场景 :常规的提示,没有确定和取消按钮。 例: 属性: title:提示的内容 icon:显示的图标,合法值有success、error、loading、none image:自定义图标的本地路径,优先级高于icon duration:提示的延迟时间 mask:是否显示透明蒙层,防止触摸穿透 success:API调用成功后的回调函

    2024年02月09日
    浏览(48)
  • 微信小程序wx.onLocationChange使用与申请

    由于wx.getLocation API测试环境频繁调用容易失败报错,官方推荐频繁调用定位场景下使用wx.onLocationChange,使用限制如图  下面是封装的方法 下面是调用代码(方法名前记得加async) 使用到的接口需要在app.json中声明,然后去 小程序后台设置申请 开发 =开发管理 =接口设置中申请

    2024年02月11日
    浏览(54)
  • 【微信小程序】后台数据交互于WX文件使用

    目录 一、前期准备 1.1 数据库准备 1.2 后端数据获取接口编写 1.3 前端配置接口 1.4 封装微信的request请求   二、WXS文件的使用 2.1 WXS简介 2.2 WXS使用   三、后台数据交互完整代码 3.1 WXML 3.2 JS 3.3 WXSS 效果图  创建数据库: 注意: 字符集选择 utf8mb4 ,因为可能用存储用户信息,

    2024年02月08日
    浏览(51)
  • 微信小程序不能使用wx.getlocation的解决方法

    1、没在小程序开发平台申请开通wx.getlocation API; 2、没有在app.json文件中声明配置; 3、开发版本库较高,调到2.25.3试试; 4、打开微信小程序页面右上角三个点,打开小程序设置,查看是否允许使用位置信息。

    2024年02月11日
    浏览(57)
  • 【微信小程序】使用 wx.request 方法进行异步网络请求

    在微信小程序中,你可以使用 wx.request 方法进行异步网络请求,并将获取到的列表数据渲染到 UI 上。 首先,在页面的 data 中定义一个数组变量,用于存储获取到的列表数据,例如: 然后,在页面的生命周期函数 onLoad 或需要触发网络请求的函数中,使用 wx.request 方法发送异

    2024年02月16日
    浏览(59)
  • uni编写微信小程序使用wx.startLocationUpdateBackground监听位置

    需求:小程序退出或者微信在后时,实时获取当前位置 代码部分: manifest.json文件中需配置 requiredBackgroundModes需设置:location 判断用户有没有开启授权: 使用uni.getSetting来获取用户的授权 没有就直接使用uni.authorize

    2024年02月05日
    浏览(42)
  • 微信小程序之网络数据请求 wx:request的简单使用

    出于安全性方面的考虑,小程序官方对 数据接口的请求 做出了两个限制: 只能请求 HTTPS 类型的接口必须将接口的域名添加到信任列表中 . 在自己的微信小程序开发的后台管理中添加相应的服务器域名,配置步骤: 登录微信小程序管理后台 - 开发 - 开发设置 - 服务器域名

    2024年02月16日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包