在VueJS中,v-for循环是每个项目都使用的东西,它允许您在模板代码中编写for循环。在最基本的用法中,它们的用法如下。
但是,在这篇文章中,我将介绍六种方法,让你的v-for代码更精确,可预测且稳健。开始吧。1.始终在v-for循环中使用键首先,我们将讨论大多数Vue开发人员已经知道的常见最佳实践-在v-for循环中使用:key。通过设置唯一的关键属性,它可以确保组件按照您期望的方式工作。如果我们不使用键,Vue将尝试使DOM尽可能高效,这可能意味着v-for元素可能出现乱序或其他不可预测的行为。如果我们对每个元素都有唯一的键引用,那么我们就可以更好地准确预测DOM将如何操作。
2.尽管大部分时间在一个范围内循环,v-for用于遍历数组或对象,但在某些情况下我们肯定只希望循环执行一定次数。例如,假设我们正在为在线商店创建一个分页系统,并且我们只想每页显示10个产品。使用变量来跟踪当前页码,我们可以像这样处理分页。
{{products[page*10+index]}}
3.不要在if循环中使用v-一个非常常见的错误是在v-for循环中使用v-if来过滤数据。尽管这看起来很直观,但它会导致一个巨大的性能问题——VueJS将v-for优先于v-if指令。这意味着您的组件将遍历每个元素,然后检查v-if条件以确定它是否应该呈现。因此实际上,无论条件如何,您都在遍历数组的每一项。不要这样做://错误代码!
4.改用计算属性或方法为了避免上述问题,我们应该在遍历模板之前过滤模板中的数据。有两种非常相似的方法:使用计算属性使用过滤方法让我们快速回顾一下这两种方法。首先,我们只需要设置一个计算属性,为了获得与之前的v-if相同的功能,代码应该如下所示。
//...下面的代码差不多就是同样,但是使用方法改变了我们在模板中访问值的方式,如果我们希望能够将变量传递给过滤器,方法是必经之路。
//...5.在循环除了遍历数组并访问每个元素之外,我们还可以跟踪每个项目的索引。为此,我们要在item后面加一个index值,很简单,可以用于分页,显示列表索引,显示排名等。
Product#{{index}}:{{product.name}}
6.遍历对象到目前为止,我们只真正看到了遍历使用v-for的数组,但我们可以轻松地遍历对象的键值对。类似于访问元素的索引,我们必须向循环添加另一个值。如果我们用参数迭代一个对象,我们将迭代所有项目。如果我们添加另一个参数,我们将获得项目和键,如果我们添加第三个参数,我们还可以访问v-for循环的索引。假设我们要迭代产品中的每个属性。
总结希望这篇简短的文章能教会您一些有关使用Vue的v-for指令的最佳实践。你有什么其他的建议?原文:https://learnvue.co/2020/02/6...翻译:Duneb相关阅读:我总结了12个Vue.js开发技巧作者:Web前端工程师,全栈开发工程师,持续学习者。现在关注《前端全栈开发者》微信公众号,我还会送你某网优质视频课程网盘资料,绝对让你省钱!