当前位置:   article > 正文

v-for中key的作用_v-for key的作用

v-for key的作用

v-for中key属性的值应唯一,起到身份认证的作用,避免v-for"就地更新"策略导致的问题。. 官方说法:v-for中key 主要用在 Vue 的虚拟 DOM 算法,在新旧 nodes 对比时辨识 VNodes。. 如果不使用 key,Vue 会使用一种最大限度减少动态元素并且尽可能的尝试就地修改/复用相同类型元素的算法。. 而使用 key 时,它会基于 key的变化重新排列元素顺序,并且会移除 key 不存在的元素。. 有相同父元素的子元素必须有独特的 key

vue中在进行列表渲染的时候,会默认遵守 就地复用策略

就地复用策略:

当在进行列表渲染的时候,vue会直接对已有的标签进行复用,不会整个的将所有的标签全部重新删除和创建,只会重新渲染数据,然后再创建新的元素直到数据渲染完为止

Vue中为v-for提供了一个属性,key:

key属性可以用来提升v-for渲染的效率!,vue不会去改变原有的元素和数据,而是创建新的元素然后把新的数据渲染进去

在使用v-for的时候,vue里面需要我们给元素添加一个key属性,这个key属性必须是唯一的标识

给key赋值的内容不能是可变的

1. 在写v-for的时候,都需要给元素加上一个key属性

2. key的主要作用就是用来提高渲染性能的!

3.key属性可以避免数据混乱的情况出现 (如果元素中包含了有临时数据的元素,如果不用key就会产生数据混乱)
 

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge" />
  7. <title>Document</title>
  8. </head>
  9. <body>
  10. <div id="app">
  11. <ul>
  12. <li v-for="item in teachers" :key="item.id">{{ item.name }} <input type="text"></li>
  13. </ul>
  14. </div>
  15. <script src="./node_modules/vue/dist/vue.js"></script>
  16. <script>
  17. const vm = new Vue({
  18. el: "#app",
  19. data: {
  20. teachers: [
  21. { id: 1, name: "aaa" },
  22. { id: 2, name: "bbb" },
  23. { id: 3, name: "ccc" },
  24. { id: 4, name: "ddd" }
  25. ]
  26. }
  27. });
  28. </script>
  29. </body>
  30. </html>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/677021
推荐阅读
相关标签
  

闽ICP备14008679号