一文帶你詳細了解Vue中的v-for
v-for
作用: 列表渲染,所在標(biāo)簽結(jié)構(gòu),按照數(shù)據(jù)數(shù)量,循環(huán)生成。指令寫在誰身上,就循環(huán)創(chuàng)建誰
1.語法:
v-for = "(值變量,索引變量) in 目標(biāo)結(jié)構(gòu)" :key = 索引變量
v-for = "值變量 in 目標(biāo)結(jié)構(gòu) :key = 索引變量"
目標(biāo)結(jié)構(gòu):可以是數(shù)組,對象,字符串
2.數(shù)組方法如果修改了原數(shù)據(jù)就會更新 頁面,如果沒有修改,則不會,但可以重新賦值給變量讓你頁面更新
3.v-for中的key作用:在更新的時候:
- 有key,按照key比較,key設(shè)置為index:等于沒設(shè),就地復(fù)用
- 無key,就地更新
4.v-for中key
唯一不重復(fù)的字符串或者數(shù)值,數(shù)組中的id
key在使用過程中,有id用id,無id用索引
5.key的好處
可以提高更新的性能
v-set
作用:因為vue是數(shù)據(jù)驅(qū)動頁面的,所以修改原數(shù)組中可以使用this.arr[0]='測試'
但是,由于官方vue2特有的bug,導(dǎo)致這樣修改原數(shù)組失效,雖然數(shù)組確實改變了,但是頁面直接沒更新,如果需要這樣修改數(shù)據(jù),就需要$set
方法來修改
方法:
this.$set(修改數(shù)組,索引,‘修改的內(nèi)容')
重繪和回流
- 重繪:元素的顏色/透明度發(fā)生變化
- 回流:元素的幾何信息(寬度/位置)發(fā)生變化
- 回流是把結(jié)構(gòu)重新畫出來,重繪給你上色
- 回流一定觸發(fā)重繪,但重繪不一定會引起回流
虛擬DOM
含義:本質(zhì)上是一個js對象,保存DOM關(guān)鍵信息
好處:提高DOM更新的性能,不頻繁操作真實的DOM,在內(nèi)存中找到變化部分,再更新真實DOM相應(yīng)屬性或內(nèi)容(打補?。?/p>
computed計算屬性
語法:定義在computed中和data(){}并齊
事例:
computed:{ totalPrice(){//計算屬性名 set(val){ //在計算機屬性被修改時執(zhí)行 //val是計算屬性賦的值 } get(){ //get在計算機屬性被調(diào)用(訪問)時執(zhí)行 //必須return一個結(jié)果 } return this.count*this*this.price//返回運算結(jié)果 } }
緩存:計算屬性,基于依賴項的值進行緩存,依賴的變量不變,都直接從緩存取結(jié)果(帶緩存)
總結(jié)
到此這篇關(guān)于Vue中v-for的文章就介紹到這了,更多相關(guān)Vue的v-for內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
一文搞懂Vue3中的異步組件defineAsyncComponentAPI的用法
這篇文章主要介紹了一文搞懂Vue3中的異步組件,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-07-07基于Vue3實現(xiàn)前端埋點上報插件并打包發(fā)布到npm的詳細過程
這篇文章主要介紹了基于Vue3實現(xiàn)一個前端埋點上報插件并打包發(fā)布到npm,本項目采用pnpm進行Monorepo環(huán)境搭建,因為未來這個項目可能會加入更多的工具包,需要的朋友可以參考下2022-10-10vue.js 雙層嵌套for遍歷的方法詳解, 類似php foreach()
今天小編就為大家分享一篇vue.js 雙層嵌套for遍歷的方法詳解, 類似php foreach(),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09