当前位置:   article > 正文

Vue中v-for循环

Vue中v-for循环

v-for循环遍历数据

永远不要把 v-if 和 v-for 同时用在同一个元素上。
风格指南 — Vue.jsVue.js - The Progressive JavaScript Frameworkhttps://cn.vuejs.org/v2/style-guide/#%E9%81%BF%E5%85%8D-v-if-%E5%92%8C-v-for-%E7%94%A8%E5%9C%A8%E4%B8%80%E8%B5%B7%E5%BF%85%E8%A6%81

 1.v-for遍历普通数组

in前面如果是一个变量,那么该变量保存的是数组中的数据
in前面如果是两个变量,那么第一个变量保存的是数组中的数据,第二个变量保存的是下标
  1. <div id="app">
  2. <ul>
  3. <!--
  4. in前面如果是一个变量,那么该变量保存的是数组中的数据
  5. <li v-for="item in array">{{item}}</li>
  6. -->
  7. <!--
  8. in前面如果是两个变量,那么第一个变量保存的是数组中的数据,
  9. 第二个变量保存的是下标
  10. -->
  11. <li v-for="(item,index) in array">数据:{{item}}>>>下标:{{index}}</li>
  12. <li v-for="item in array">数据:{{item}}</li>
  13. </ul>
  14. </div>
  15. <script>
  16. new Vue({
  17. el:"#app",
  18. data:{
  19. array:['张三','李四','王五','老六']
  20. }
  21. });
  22. </script>

2.v-for遍历对象数组

如果是一个变量,那么该变量保存的是数据【对象】

  1. <div id="app">
  2. <!--<ul>
  3. 如果是一个变量,那么该变量保存的是数据【对象】
  4. <li v-for="item in array">{{typeof item}}</li>
  5. </ul>-->
  6. <table cellpadding="0" cellspacing="0">
  7. <thead>
  8. <tr>
  9. <th><input type="checkbox"></th>
  10. <th>序号</th>
  11. <th>姓名</th>
  12. <th>年龄</th>
  13. <th>性别</th>
  14. <th>家庭住址</th>
  15. <th>操作</th>
  16. </tr>
  17. </thead>
  18. <tbody v-if="code === 200">
  19. <tr v-for="(item,index) in res">
  20. <td><input type="checkbox"></td>
  21. <td>{{index+1}}</td>
  22. <td>{{item.name}}</td>
  23. <td>{{item.age}}</td>
  24. <td>{{item.sex}}</td>
  25. <td>{{item.address}}</td>
  26. <td>
  27. <a href="#">编辑</a>
  28. <a href="#">删除</a>
  29. </td>
  30. </tr>
  31. </tbody>
  32. </table>
  33. </div>
  34. <script>
  35. new Vue({
  36. el: "#app",
  37. data: {
  38. code: 200,
  39. msg: '成功',
  40. res: [
  41. {
  42. name: "张三",
  43. age: 21,
  44. sex: "男性",
  45. address: "郑州市中原区"
  46. },
  47. {
  48. name: "李四",
  49. age: 21,
  50. sex: "男性",
  51. address: "郑州市二七区"
  52. },
  53. {
  54. name: "老六",
  55. age: 22,
  56. sex: "男性",
  57. address: "郑州市金水区"
  58. }
  59. ]
  60. }
  61. });
  62. </script>

3.v-for遍历对象

如果是一个变量,那么保存的是对象中的属性值

如果是两个变量,那么第一个变量保存的是属性值,第二个变量保存的是属性名

如果是三个变量,那么第一个变量保存的是属性值,第二个变量保存的是属性名,第三个变量保存的是下标

v-for="o1 in obj"          o1:属性值

v-for="(o1,o2) in obj"     o1:属性值  o2:属性名


v-for="(o1,o2,o3) in obj"  o1:属性值  o2:属性名  o3:下标

  1. <div id="app">
  2. <!--
  3. v-for="o1 in obj" o1:属性值
  4. v-for="(o1,o2) in obj" o1:属性值 o2:属性名
  5. v-for="(o1,o2,o3) in obj" o1:属性值 o2:属性名 o3:下标
  6. -->
  7. <ul>
  8. <!--
  9. 如果是一个变量,那么保存的是对象中的属性值
  10. -->
  11. <!-- <li v-for="o1 in obj">{{o1}}</li>-->
  12. <!--
  13. 如果是两个变量,那么第一个变量保存的是属性值,第二个变量保存的是属性名
  14. -->
  15. <!-- <li v-for="(o1,o2) in obj">{{o1}}>>>{{o2}}</li>-->
  16. <!--
  17. 如果是三个变量,那么第一个变量保存的是属性值,第二个变量保存的是属性名,第三个变量保存的是下标
  18. -->
  19. <li v-for="(o1,o2,o3) in obj">{{o1}}>>>{{o2}}>>>{{o3}}</li>
  20. </ul>
  21. </div>
  22. <script>
  23. new Vue({
  24. el:"#app",
  25. data:{
  26. obj:{
  27. name: "李四",
  28. age: 21,
  29. sex: "男性",
  30. address: "郑州市二七区"
  31. }
  32. }
  33. });
  34. </script>

4.v-for循环数字

in后面不仅可以放数组、对象数组、对象,还可以放数字

在in前面用一个变量存储当前次数,注意:此变量是从1开始,而不是从0开始

  1. <div id="app">
  2. <p v-for="count in 10">这是第{{count}}次循环</p>
  3. </div>
  4. <script>
  5. new Vue({
  6. el:'#app'
  7. });
  8. </script>
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/379220
推荐阅读
相关标签
  

闽ICP备14008679号