Vue列表渲染v-for的使用案例詳解
列表渲染
列表渲染的東西比較多,我們通過案例一步一步學(xué)習(xí)列表渲染的相關(guān)知識
基本列表
首先寫一個基本的列表,想要把persons列表里面的對象展示在li里面,我們可以使用一個指令:v-for

v-for
vue提供給我們做循環(huán)的指令,語法類似js的for in遍歷
v-for="person in persons"
使用v-for循環(huán)數(shù)組

列表數(shù)據(jù)就被循環(huán)出來了

上面只是簡單使用v-for做一個循環(huán),還有很多小細(xì)節(jié),逐一說下
細(xì)節(jié)問題
上面我們使用v-for做循環(huán)的時候,缺少了一個重要的屬性,那就是key,那么key的作用是什么呢?
key的使用
關(guān)于key的描述,官網(wǎng)是這么說的

key可以理解成一個唯一的標(biāo)識符,類似于身份證,作為數(shù)據(jù)的唯一憑證,我們在使用v-for做循環(huán)處理的時候,應(yīng)該是有:key去指定這個唯一標(biāo)識
雖然不寫key也不會報錯,也沒有任何警告,但是盡量還是按照規(guī)范寫上
v-for兩個參數(shù)
上面的案例,只是寫了一個參數(shù)進(jìn)行處理,其實v-for是有兩個參數(shù)的
參數(shù)1是循環(huán)體的完整對象數(shù)據(jù),參數(shù)2是索引下標(biāo)
<li v-for="a,b in persons" :key="a.id">
{{a}}-{}
</li>

注意:使用的使用不要少了冒號,是:key,不是key,不然就解析不了表達(dá)式了
使用index作為key
既然我們已經(jīng)知道了,第二個參數(shù)是索引,那么我們也可以把第二個參數(shù)作為key唯一標(biāo)識去使用
<li v-for="person,index in persons" :key="index">
{{person.name}}-{{person.age}}
</li> 
參數(shù)的括號可有可無
參數(shù)的括號是可以可有可無的,但是建議加上,不然一些老的腳手架可能會報錯


of代替in
v-for可以使用of代替in,作用是一樣的,和js簡直一模一樣

遍歷對象
難道v-for只能遍歷上面定義的persons數(shù)組類型嗎,當(dāng)然不是,也可以遍歷對象類型


遍歷字符串(用的少)
不僅僅可以遍歷數(shù)組和對象,還可以遍歷字符串


遍歷指定次數(shù)(用的少)
這種和遍歷字符串一樣,通常用的不多


總結(jié)
v-for指令
1.用于展示列表數(shù)據(jù)
2 語法 v-for=(item,index) in(of) xxx :key=“yyy”
3 可遍歷:數(shù)組(用的多),對象(用的多),字符串(用的少),指定次數(shù)(用的少)
代碼奉上
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>初始vue</title>
<!-- 引入vue.js -->
<script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
<div id="root">
<!-- 遍歷數(shù)組 -->
<h2>人員列表</h2>
<ul>
<li v-for="(person,index) of persons" :key="index">
{{person.name}}-{{person.age}}
</li>
</ul>
<!-- 遍歷對象 -->
<ul>
<h2>商品信息</h2>
<li v-for="(value,key) in shop" :key="key">
{{key}}-{{value}}
</li>
</ul>
<!-- 遍歷字符串 -->
<ul>
<h2>遍歷字符串</h2>
<li v-for="(char,index) in str" :key="index">
{{char}}-{{index}}
</li>
</ul>
<!-- 遍歷指定次數(shù) -->
<ul>
<h2>遍歷指定次數(shù)</h2>
<li v-for="(char,index) in str" :key="index">
{{char}}-{{index}}
</li>
</ul>
<!-- 遍歷指定次數(shù) -->
<ul>
<h2>遍歷指定次數(shù)</h2>
<li v-for="(number,index) in 10" :key="index">
{{index}}-{{number}}
</li>
</ul>
</div>
</body>
<script type="text/javascript">
const vm= new Vue({
el:'#root',
data:{
persons:[
{id:'001',name:'張三',age:'18'},
{id:'002',name:'李四',age:'19'},
{id:'003',name:'王五',age:'20'}
],shop:{
name:'可樂可樂',
price:'3.0'
},
str:'vue'
}
})
</script>
</html>
到此這篇關(guān)于Vue列表渲染(v-for的使用)的文章就介紹到這了,更多相關(guān)Vue列表渲染v-for內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Vue3中shallowRef和shallowReactive的使用
這篇文章主要為大家介紹了Vue3中shallowRef和shallowReactive函數(shù)的使用方法,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Vue有一定的幫助,需要的可以參考一下2022-07-07
Element-ui設(shè)置el-table表頭全選框隱藏或禁用
這篇文章主要給大家介紹了關(guān)于Element-ui設(shè)置el-table表頭全選框隱藏或禁用的相關(guān)資料,文中手把手教你實現(xiàn)el-table實現(xiàn)跨表格禁用選項,需要的朋友可以參考下2023-07-07
Vue的filters(本地)或filter(全局)過濾常用數(shù)據(jù)類型解析
這篇文章主要介紹了Vue的filters(本地)或filter(全局)過濾常用數(shù)據(jù)類型,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07
如何利用Echarts根據(jù)經(jīng)緯度給地圖畫點(diǎn)畫線
最近工作中遇到了一個需求,需要利用echarts在地圖上面標(biāo)記點(diǎn)位,所下面這篇文章主要給大家介紹了關(guān)于如何利用Echarts根據(jù)經(jīng)緯度給地圖畫點(diǎn)畫線的相關(guān)資料,需要的朋友可以參考下2022-05-05
在vue中v-bind使用三目運(yùn)算符綁定class的實例
今天小編就為大家分享一篇在vue中v-bind使用三目運(yùn)算符綁定class的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09

