日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

vue学习九--v-for的四种用法,以及key问题

發布時間:2023/12/15 vue 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vue学习九--v-for的四种用法,以及key问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

以下是v-fo人的四種用法:
即循環普通數組,對象數組,對象,以及迭代數字。

一 普通數組的使用:

<!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><script src="./lib/vue.js"></script> </head><body><div id="app"><!-- 利用差列表達式 --><!-- <p>{{list[0]}}</p><p>{{list[1]}}</p><p>{{list[2]}}</p><p>{{list[3]}}</p><p>{{list[4]}}</p> --><!-- 利用v-for指令循環 --><!-- <p v-for='item in list'>{{item}}</p> --><!-- 加上索引號的v-for --><p v-for='(item , index) in list'>索引值:{{index}}--每一項:{{item}}</p></div><script>var vm=new Vue({el:'#app',data:{list:[1,2,3,4,5,6],},methods:{}});</script> </body></html>

二 對象數組的使用:

<body><div id="app"><p v-for='(user ,index) in list'>ID:{{user.id}}--名字:{{user.name}}--索引{{index}}</p></div><script>var vm=new Vue({el:'#app',data:{list:[{id:1,name:'zs1'},{id:2,name:'zs2'},{id:3,name:'zs3'},{id:4,name:'zs4'},]},methods:{}});</script> </body></html>

三 對象的使用:

<body><div id="app"><!-- 注意:遍歷對象時先顯示val,再顯示可以,同時也有索引 --><p v-for = "(val , key,index) in user">{{val}}--{{key}}--{{index}}</p></div><script>var vm=new Vue({el:'#app',data:{user:{id:1,name:"托尼賈",gender:'男'}},methods:{}});</script> </body></html>

四 迭代數字:

<body><div id="app"><!-- v-for 可以遍歷,數組 對象數組 對象 以及數字--><!-- count 從一開始 --><p v-for="count in 10">這是第{{count}}遍歷</p></div><script>var vm=new Vue({el:'#app',data:{},methods:{}});</script> </body></html>

在使用v-for循環中可能會出現一些問題。如下:

<body><div id="app"><div><label>ID:<input type="text" v-model="id"></label><label>name:<input type="text" v-model="name"></label><input type="button" value="添加" @click="add"></div><p v-for="item in list" ><input type="checkbox" >{{item.id}}--{{item.name}}</p></div><script>var vm=new Vue({el:'#app',data:{id:'',name : '',list:[{id : 1 , name : '項羽'},{id : 2 , name : "趙高"},{id : 3 , name : "秦始皇"},{id : 4 , name : "趙小川"},]},methods:{add(){this.list.unshift({id : this.id , name : this.name})}}});</script> </body></html>


在此勾選第三個,然后添加一個數以后會出現:
注意原來勾選的是“秦始皇”,現在變成“趙高”,因為我們在前端勾選時候,并沒有實現數據的綁定,在勾選前添加數據,便會把數據往下擠。

解決此問題需要添加一個key給v-for所在的那個標簽:
1. 此處如果不添加key,可能會出現前端勾選的復選框不是對象里的id,在添加數據會造成數據勾選不準確。
2.使用v-bind綁定key ,同時key必須是num 或者string類型
3.在組件中,使用v-for循環的時候,或者在一些特殊情況的時候,如果v-for有問題,必須在使用v-for同時,指定唯一的 字符串/數字 類型:key值

<p v-for="item in list" v-bind:key="item.id"><input type="checkbox" >{{item.id}}--{{item.name}}</p>

添加之后:

總結

以上是生活随笔為你收集整理的vue学习九--v-for的四种用法,以及key问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。