網站首頁 Vue 正文
前言
使用v-for可以用于動態生成html標簽。其實就是對于vue中屬性是對象或者數組進行遍歷生成新的標簽。
?v-for就像java中的for循環一樣,迭代需要的所有元素。
大多數情況是以一個數組嵌套多個對象的數據進行v-for循環
一、當寫入數據為數組時
如果循環遍歷得到的value值是一個對象,需要使用里面的值可以用 對象名.key 來調用key對應的value值
v-for寫入數組的格式: arrays = [ ] v-for = " (value,index) in arrays " //()內可以是一個參數,多個參數用,隔開 //其中value為arrays遍歷的值。 index為arrays遍歷的索引,從0開始 value,index只是變量的名字,可以隨意命名,對應的是第一個參數和第二個參數,順序決定了該變量具體的值
代碼實例: 生成一個表格標簽,動態生成數據
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="js/vue.js"></script> </head> <body> <div id="app"> <table border="1"> <tr> <th>編號</th> <th>姓名</th> </tr> <tr v-for="(value,index) in arrays"> <td>{{value.id}}</td> <td>{{value.name}}</td> </tr> </table> </div> <script> var app = new Vue({ el:"#app", data:{ arrays:[ { "id":"A1", "name":"wa1" }, { "id":"A2", "name":"wa2" }, { "id":"A3", "name":"wa3" } ] }, methods:{ } }); </script> </body> </html>
頁面效果:? arrays數組里的數據可以是從數據庫里讀取出來的json文件
二、當寫入數據為對象時
當需要遍歷的數據是對象的時候,這個時候在第二參數中不再是索引,而是key值 。
json對象一般格式為:? {
? ? ? ? ? ? ? ? "key":"value",
? ? ? ? ? ? ? ? "key2":"value2"
????????}
v-for寫入對象的格式: arrays = { } v-for = " (value,key ,index) in arrays " 在()傳入的參數中,第一個參數為對象的值,第二個參數為對象的key,第三個參數為對象的索引
代碼示例: 顯示我的個人信息
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="js/vue.js"></script> </head> <body> <div id="app"> <table border="1"> <caption>我的個人信息</caption> <tr v-for="(value,key,index) in obj"> <td>{{key}}</td> <td>{{value}}</td> </tr> </table> </div> <script> var app = new Vue({ el:"#app", data:{ obj:{ "id":"A1", "name":"zhangsan", "sex":"男", "age":20 } }, methods:{ } }); </script> </body> </html>
頁面效果:
三、作用于標簽屬性和事件
上述中?v-for = " (value,key ,index) in arrays "?內的() 參數可以傳入到標簽屬性值和事件中 。如果需要傳入的話屬性和事件需要按照Vue綁定 ,如:? ?屬性使用:屬性名? 事件使用? ?@事件名
代碼示例:我們對其第一個例子的表格根據class的不同進行上色
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="js/vue.js"></script> <style> .A0{ color:red; } .A1{ color:blue; } .A2{ color:orange; } </style> </head> <body> <div id="app"> <table border="1"> <tr> <th>編號</th> <th>姓名</th> </tr> <tr v-for="(value,index) in arrays" :class="'A'+index"> <td>{{value.id}}</td> <td>{{value.name}}</td> </tr> </table> </div> <script> var app = new Vue({ el:"#app", data:{ arrays:[ { "id":"A1", "name":"wa1" }, { "id":"A2", "name":"wa2" }, { "id":"A3", "name":"wa3" } ] }, methods:{ } }); </script> </body> </html>
頁面效果:
當然也可以傳入到@事件的函數參數中。
總結
原文鏈接:https://blog.csdn.net/wasane/article/details/122434775
相關推薦
- 2022-03-14 解決PostgreSQL無法連接navicat的問題(navicat連接sqlserver失敗)
- 2022-06-26 Android?app啟動節點與上報啟動實例詳解_Android
- 2022-08-03 Python類的基本寫法與注釋風格介紹_python
- 2022-03-14 Maven項目中遇見的一些問題(maven項目報錯)
- 2022-10-14 Linux環境conda虛擬環境中python解釋器對應問題 + 解決后pip install 路徑
- 2022-08-17 C++超詳細實現堆和堆排序過像_C 語言
- 2023-04-11 Go使用協程批量獲取數據加快接口返回速度_Golang
- 2022-09-10 Python實現自定義異常堆棧信息的示例代碼_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支