Vue.js如何利用v-for循環(huán)生成動態(tài)標簽
前言
使用v-for可以用于動態(tài)生成html標簽。其實就是對于vue中屬性是對象或者數(shù)組進行遍歷生成新的標簽。
v-for就像java中的for循環(huán)一樣,迭代需要的所有元素。
大多數(shù)情況是以一個數(shù)組嵌套多個對象的數(shù)據(jù)進行v-for循環(huán)
一、當寫入數(shù)據(jù)為數(shù)組時
如果循環(huán)遍歷得到的value值是一個對象,需要使用里面的值可以用 對象名.key 來調(diào)用key對應(yīng)的value值
v-for寫入數(shù)組的格式:
arrays = [ ]
v-for = " (value,index) in arrays "
//()內(nèi)可以是一個參數(shù),多個參數(shù)用,隔開
//其中value為arrays遍歷的值。 index為arrays遍歷的索引,從0開始
value,index只是變量的名字,可以隨意命名,對應(yīng)的是第一個參數(shù)和第二個參數(shù),順序決定了該變量具體的值代碼實例: 生成一個表格標簽,動態(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>編號</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數(shù)組里的數(shù)據(jù)可以是從數(shù)據(jù)庫里讀取出來的json文件

二、當寫入數(shù)據(jù)為對象時
當需要遍歷的數(shù)據(jù)是對象的時候,這個時候在第二參數(shù)中不再是索引,而是key值 。
json對象一般格式為: {
"key":"value",
"key2":"value2"
}
v-for寫入對象的格式:
arrays = { }
v-for = " (value,key ,index) in arrays "
在()傳入的參數(shù)中,第一個參數(shù)為對象的值,第二個參數(shù)為對象的key,第三個參數(shù)為對象的索引代碼示例: 顯示我的個人信息
<!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 " 內(nèi)的() 參數(shù)可以傳入到標簽屬性值和事件中 。如果需要傳入的話屬性和事件需要按照Vue綁定 ,如: 屬性使用:屬性名 事件使用 @事件名
代碼示例:我們對其第一個例子的表格根據(jù)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>頁面效果:

當然也可以傳入到@事件的函數(shù)參數(shù)中。
總結(jié)
到此這篇關(guān)于Vue.js如何利用v-for循環(huán)生成動態(tài)標簽的文章就介紹到這了,更多相關(guān)Vue.js v-for循環(huán)生成動態(tài)標簽內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于Vite不能使用require問題的解決方法
在vue2中我們通常會在模板中通過三目運算符和require來實現(xiàn)動態(tài)圖片,下面這篇文章主要給大家介紹了關(guān)于Vite不能使用require問題的解決方法,需要的朋友可以參考下2022-10-10
vue-quill-editor富文本編輯器上傳視頻功能詳解
需求需要實現(xiàn)富文本的功能,同時富文本中還可以上傳視頻和圖片,選來選去最后決定了用這個富文本編輯器,下面這篇文章主要給大家介紹了關(guān)于vue-quill-editor富文本編輯器上傳視頻功能的相關(guān)資料,需要的朋友可以參考下2023-05-05
使用Element-UI的el-tabs組件,瀏覽器卡住了的問題及解決
這篇文章主要介紹了使用Element-UI的el-tabs組件,瀏覽器卡住了的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08
vue 封裝導出Excel數(shù)據(jù)的公共函數(shù)的方法
本文主要介紹了vue 封裝導出Excel數(shù)據(jù)的公共函數(shù),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09
Ant Design Vue 添加區(qū)分中英文的長度校驗功能
這篇文章主要介紹了Ant Design Vue 添加區(qū)分中英文的長度校驗功能,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下功能,2020-01-01
Vue?ELement?Table技巧表格業(yè)務(wù)需求實戰(zhàn)示例
這篇文章主要介紹了Vue?ELement?Table技巧表格業(yè)務(wù)需求實戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11
Vue中.vue文件比main.js先執(zhí)行的問題及解決
這篇文章主要介紹了Vue中.vue文件比main.js先執(zhí)行的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12

