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 來調(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ù)里讀取出來的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)文章
vue項(xiàng)目打包并部署到Linux服務(wù)器的詳細(xì)過程
我們?cè)跁?huì)開發(fā)項(xiàng)目的同時(shí),也應(yīng)該了解一下項(xiàng)目是如何部署到服務(wù)器的,下面這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目打包并部署到Linux服務(wù)器的相關(guān)資料,需要的朋友可以參考下2023-01-01
vue-router動(dòng)態(tài)設(shè)置頁(yè)面title的實(shí)例講解
今天小編就為大家分享一篇vue-router動(dòng)態(tài)設(shè)置頁(yè)面title的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-08-08
vite獲取所有環(huán)境變量(env)的實(shí)現(xiàn)方法
本文主要介紹了vite獲取所有環(huán)境變量(env)的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-06-06
vue3.0找不到模塊“./App.vue”或其相應(yīng)的類型聲明(多種情況分析)
這篇文章主要介紹了vue3.0找不到模塊“./App.vue”或其相應(yīng)的類型聲明,報(bào)錯(cuò)原因是typescript?只能理解?.ts?文件,無法理解?.vue文件,本文通過多種情況分析給大家詳細(xì)講解,需要的朋友可以參考下2023-01-01
Vue+springboot批量刪除功能實(shí)現(xiàn)代碼
這篇文章主要介紹了Vue+springboot批量刪除功能,本文通過示例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-05-05
Vue3源碼分析偵聽器watch的實(shí)現(xiàn)原理
watch?的本質(zhì)就是觀測(cè)一個(gè)響應(yīng)式數(shù)據(jù),當(dāng)數(shù)據(jù)發(fā)生變化時(shí)通知并執(zhí)行相應(yīng)的回調(diào)函數(shù)。watch的實(shí)現(xiàn)利用了effect?和?options.scheduler?選項(xiàng),這篇文章主要介紹了Vue3源碼分析偵聽器watch的實(shí)現(xiàn)原理,需要的朋友可以參考下2022-08-08

