Vue.js如何利用v-for循環(huán)生成動(dòng)態(tài)標(biāo)簽
前言
使用v-for可以用于動(dòng)態(tài)生成html標(biāo)簽。其實(shí)就是對(duì)于vue中屬性是對(duì)象或者數(shù)組進(jìn)行遍歷生成新的標(biāo)簽。
v-for就像java中的for循環(huán)一樣,迭代需要的所有元素。
大多數(shù)情況是以一個(gè)數(shù)組嵌套多個(gè)對(duì)象的數(shù)據(jù)進(jìn)行v-for循環(huán)
一、當(dāng)寫入數(shù)據(jù)為數(shù)組時(shí)
如果循環(huán)遍歷得到的value值是一個(gè)對(duì)象,需要使用里面的值可以用 對(duì)象名.key 來(lái)調(diào)用key對(duì)應(yīng)的value值
v-for寫入數(shù)組的格式: arrays = [ ] v-for = " (value,index) in arrays " //()內(nèi)可以是一個(gè)參數(shù),多個(gè)參數(shù)用,隔開 //其中value為arrays遍歷的值。 index為arrays遍歷的索引,從0開始 value,index只是變量的名字,可以隨意命名,對(duì)應(yīng)的是第一個(gè)參數(shù)和第二個(gè)參數(shù),順序決定了該變量具體的值
代碼實(shí)例: 生成一個(gè)表格標(biāo)簽,動(dòng)態(tài)生成數(shù)據(jù)
<!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>編號(hào)</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>
頁(yè)面效果: arrays數(shù)組里的數(shù)據(jù)可以是從數(shù)據(jù)庫(kù)里讀取出來(lái)的json文件
二、當(dāng)寫入數(shù)據(jù)為對(duì)象時(shí)
當(dāng)需要遍歷的數(shù)據(jù)是對(duì)象的時(shí)候,這個(gè)時(shí)候在第二參數(shù)中不再是索引,而是key值 。
json對(duì)象一般格式為: {
"key":"value",
"key2":"value2"
}
v-for寫入對(duì)象的格式: arrays = { } v-for = " (value,key ,index) in arrays " 在()傳入的參數(shù)中,第一個(gè)參數(shù)為對(duì)象的值,第二個(gè)參數(shù)為對(duì)象的key,第三個(gè)參數(shù)為對(duì)象的索引
代碼示例: 顯示我的個(gè)人信息
<!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>我的個(gè)人信息</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>
頁(yè)面效果:
三、作用于標(biāo)簽屬性和事件
上述中 v-for = " (value,key ,index) in arrays " 內(nèi)的() 參數(shù)可以傳入到標(biāo)簽屬性值和事件中 。如果需要傳入的話屬性和事件需要按照Vue綁定 ,如: 屬性使用:屬性名 事件使用 @事件名
代碼示例:我們對(duì)其第一個(gè)例子的表格根據(jù)class的不同進(jìn)行上色
<!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>編號(hào)</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>
頁(yè)面效果:
當(dāng)然也可以傳入到@事件的函數(shù)參數(shù)中。
總結(jié)
到此這篇關(guān)于Vue.js如何利用v-for循環(huán)生成動(dòng)態(tài)標(biāo)簽的文章就介紹到這了,更多相關(guān)Vue.js v-for循環(huán)生成動(dòng)態(tài)標(biāo)簽內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于Vite不能使用require問題的解決方法
在vue2中我們通常會(huì)在模板中通過(guò)三目運(yùn)算符和require來(lái)實(shí)現(xiàn)動(dòng)態(tài)圖片,下面這篇文章主要給大家介紹了關(guān)于Vite不能使用require問題的解決方法,需要的朋友可以參考下2022-10-10vue-quill-editor富文本編輯器上傳視頻功能詳解
需求需要實(shí)現(xiàn)富文本的功能,同時(shí)富文本中還可以上傳視頻和圖片,選來(lái)選去最后決定了用這個(gè)富文本編輯器,下面這篇文章主要給大家介紹了關(guān)于vue-quill-editor富文本編輯器上傳視頻功能的相關(guān)資料,需要的朋友可以參考下2023-05-05使用Element-UI的el-tabs組件,瀏覽器卡住了的問題及解決
這篇文章主要介紹了使用Element-UI的el-tabs組件,瀏覽器卡住了的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08vue中使用console.log打印的實(shí)現(xiàn)
這篇文章主要介紹了vue中使用console.log打印的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04vue 封裝導(dǎo)出Excel數(shù)據(jù)的公共函數(shù)的方法
本文主要介紹了vue 封裝導(dǎo)出Excel數(shù)據(jù)的公共函數(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09Ant Design Vue 添加區(qū)分中英文的長(zhǎng)度校驗(yàn)功能
這篇文章主要介紹了Ant Design Vue 添加區(qū)分中英文的長(zhǎng)度校驗(yàn)功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下功能,2020-01-01Vue?ELement?Table技巧表格業(yè)務(wù)需求實(shí)戰(zhàn)示例
這篇文章主要介紹了Vue?ELement?Table技巧表格業(yè)務(wù)需求實(shí)戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11Vue中.vue文件比main.js先執(zhí)行的問題及解決
這篇文章主要介紹了Vue中.vue文件比main.js先執(zhí)行的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12