• 第6讲:v-for使用


    目录

            1.循环遍历

            2.v-for遍历整形变量(99乘法表)

            3.v-for遍历普通数组

            4.v-for遍历数组对象

    1.循环遍历

    v-for指令基于一个数组渲染一个列表,它和JavaScript的遍历语法相似:
      v-for=”item in list”
      list 是一个数组, item 是当前被遍历的对象 
         
  • {{ item }}
  •  
  在数组进行遍历时,我们必须给遍历对象绑定一个对应的 key 值以保证对象的唯一性
  使用 v-bind:key 指令进行绑定
v-for 中key的作用
1、 key的作用主要是为了高效的更新虛拟DOM,通过key可以精准判断两个节点是否是同一个,从而避免频繁更新不同元素,使得整个patch过程更加高效,减少DOM操作量,提高性能。
2、 若不设置key可能在列表更新时引发一些隐蔽的bug。如某行数据不该更新的却更新了。
3、vue中在使用相同标签名元素的过渡切换时,也会使用到key属性,其目的也是为了让vue可以区分它们,否则vue只会替换其内部属性而不会触发过渡效果。

2.v-for遍历整形变量(99乘法表)

  1. <h3 align="center">九九乘法表</h3>
  2. <hr>
  3. <table align="center" border="1">
  4. <tr v-for="i in 9" :key="i">
  5. <td v-for="j in i" :key="j">{{j}}*{{i}}={{i*j}}</td>
  6. </tr>
  7. </table>

3.v-for遍历普通数组

语法 : v-for="(item,index) in array"

item : 数组中的每一项

index : 索引值

如果只需要第一个参数item ,index可以不写,括号可以省略

  1. <template>
  2. <div>
  3. <h2 align="center">for语句的使用方法讲解</h2>
  4. <hr>
  5. <h4 align="left">
  6. <pre>
  7. v-for指令基于一个数组渲染一个列表,它和JavaScript的遍历语法相似:
  8. v-for=”item in list”
  9. list是一个数组,item是当前被遍历的对象
  10. 在数组进行遍历时,我们必须给遍历对象绑定一个对应的key值以保证对象的唯一性
  11. 使用v-bind:key指令进行绑定
  12. </pre>
  13. <ul>
  14. <li v-for="item in weeks" :key='item'>{{item}}</li>
  15. </ul>
  16. </div>
  17. </template>
  18. <script>
  19. export default({
  20. name: 'ForDemo',
  21. data(){
  22. return {
  23. weeks:[
  24. "星期一",
  25. "星期二",
  26. "星期三",
  27. "星期四",
  28. "星期五",
  29. "星期六",
  30. "星期日"
  31. ]
  32. }
  33. }
  34. })
  35. </script>

  4.v-for遍历数组对象

语法 : v-for="(item,index) in array"

item : 数组中的每一项(每一个对象)

index : 索引值

如果只需要第一个参数item ,index可以不写,括号可以省略

  1. <template>
  2. <div>
  3. <h2 align="center">for语句的使用方法讲解</h2>
  4. <hr>
  5. <h3 align="center">员工资料列表</h3>
  6. <table align="center" width="800px" border="1">
  7. <thead>
  8. <tr>
  9. <th>员工ID</th>
  10. <th>姓名</th>
  11. <th>性别</th>
  12. <th>年龄</th>
  13. </tr>
  14. </thead>
  15. <tr v-for="row in empList" :key="row.empId">
  16. <td>{{row.empId}}</td>
  17. <td>{{row.name}}</td>
  18. <td>{{row.sex}}</td>
  19. <td>{{row.age}}</td>
  20. </tr>
  21. </table>
  22. </div>
  23. </template>
  24. <script>
  25. export default({
  26. name: 'For',
  27. data(){
  28. return {
  29. empList:[
  30. {empId:1,name:'张三',sex:'男',age:'18'},
  31. {empId:2,name:'李四',sex:'男',age:'28'},
  32. {empId:3,name:'丽丽',sex:'女',age:'38'},
  33. {empId:4,name:'晓晓',sex:'女',age:'16'},
  34. {empId:5,name:'张三丰',sex:'男',age:'48'}
  35. ]
  36. }
  37. }
  38. })
  39. </script>

案例完整代码如下

  1. <template>
  2. <div>
  3. <h2 align="center">for语句的使用方法讲解</h2>
  4. <hr>
  5. <h4 align="left">
  6. <pre>
  7. v-for指令基于一个数组渲染一个列表,它和JavaScript的遍历语法相似:
  8. v-for=”item in list”
  9. list是一个数组,item是当前被遍历的对象
  10. 在数组进行遍历时,我们必须给遍历对象绑定一个对应的key值以保证对象的唯一性
  11. 使用v-bind:key指令进行绑定
  12. </pre>
  13. </h4>
  14. <ul>
  15. <li v-for="item in weeks" :key='item'>{{item}}</li>
  16. </ul>
  17. <h3 align="center">九九乘法表</h3>
  18. <hr>
  19. <table align="center" border="1">
  20. <tr v-for="i in 9" :key="i">
  21. <td v-for="j in i" :key="j">{{j}}*{{i}}={{i*j}}</td>
  22. </tr>
  23. </table>
  24. <h3 align="center">员工资料列表</h3>
  25. <table align="center" width="800px" border="1">
  26. <thead>
  27. <tr>
  28. <th>员工ID</th>
  29. <th>姓名</th>
  30. <th>性别</th>
  31. <th>年龄</th>
  32. </tr>
  33. </thead>
  34. <tr v-for="row in empList" :key="row.empId">
  35. <td>{{row.empId}}</td>
  36. <td>{{row.name}}</td>
  37. <td>{{row.sex}}</td>
  38. <td>{{row.age}}</td>
  39. </tr>
  40. </table>
  41. </div>
  42. </template>
  43. <script>
  44. export default({
  45. name: 'For',
  46. data(){
  47. return {
  48. weeks:[
  49. "星期一",
  50. "星期二",
  51. "星期三",
  52. "星期四",
  53. "星期五",
  54. "星期六",
  55. "星期日"
  56. ],
  57. empList:[
  58. {empId:1,name:'张三',sex:'男',age:'18'},
  59. {empId:2,name:'李四',sex:'男',age:'28'},
  60. {empId:3,name:'丽丽',sex:'女',age:'38'},
  61. {empId:4,name:'晓晓',sex:'女',age:'16'},
  62. {empId:5,name:'张三丰',sex:'男',age:'48'}
  63. ]
  64. }
  65. }
  66. })
  67. </script>

本人从事软件项目开发20多年,2005年开始从事Java工程师系列课程的教学工作,录制50多门精品视频课程,包含java基础,jspweb开发,SSH,SSM,SpringBoot,SpringCloud,人工智能,在线支付等众多商业项目,每门课程都包含有项目实战,上课PPT,及完整的源代码下载,有兴趣的朋友可以看看我的在线课堂

讲师课堂链接:https://edu.csdn.net/lecturer/893

  • 相关阅读:
    【MySQL】表的增删改查(强化)
    javaWEB如何实现一个电影票预定购票系统javaee电影选票选座平台
    【SpringMVC】运行过程
    python 从二进制文件中读取浮点数据
    Day822.Happens-Before 规则 -Java 并发编程实战
    08 【Props 组件事件】
    Mac电脑输入正确密码后提示密码错误
    「Java开发指南」如何用MyEclipse搭建Spring安全策略?
    健身戴什么耳机,盘点几款健身佩戴的耳机推荐
    2022年找工作确实不易
  • 原文地址:https://blog.csdn.net/software7503/article/details/133269097