VUE逐點突破系列 Vue效能優化方法

2021-10-09 21:44:04 字數 2384 閱讀 7591

const router =

newvuerouter(]

})

>

>

>

/>

keep-alive

>

div>

template

>

>

class

="cell"

>

v-show

="value"

class

="on"

>

"10000"

/>

div>

v-show

="!value"

class

="off"

>

"10000"

/>

section

>

div>

template

>

>

>

v-for

="user in activeusers"

:key

="user.id"

>}li

>

ul>

template

>

export

default)}

}}<

/script>如果列表是純粹的資料展示,不會有任何改變,就不需要做響應化

export

default),

async

created()

};如果是大資料長列表,可採用虛擬滾動,只渲染少部分區域的內容

class

="items"

:items

="items"

:item-size

="24"

>

v-slot=""

>

:item

="item"

@vote

="voteitem(item)"

/>

template

>

recycle-scroller

>

參考vue-virtual-scroller、vue-virtual-scroll-list

vue 元件銷毀時,會自動解綁它的全部指令及事件***,但是僅限於元件本身的事件。

created()

,beforedestroy()

對於過多的頁面,為了加速頁面載入速度,所以很多時候我們需要將頁面內未出現在可視區域內的先不做載入, 等到滾動到可視區域後再去載入。

v-lazy

="/static/img/1.png"

>

像element-ui這樣的第三方元件庫可以按需引入避免體積太大。

import vue from

'vue'

;import

from

'element-ui'

; vue.

use(button)

vue.

use(select)

functional

>

class

="cell"

>

v-if

="props.value"

class

="on"

>

div>

v-else

class

="off"

>

section

>

div>

template

>

export

default

<

/script>

>

>

/>

div>

template

>

export

default},

render

(h)}}}

<

/script>

>

:style=""

>

}div

>

template

>

Vue效能優化

而正是這種做法引發了效能問題,要初始化乙個父元件,必然需要先初始化它的子元件,而子元件又有它自己的子元件。那麼要初始化根標籤,就需要從底層開始冒泡,將頁面所有元件都初始化完。所以我們的頁面會在所有元件都初始化完才開始顯示。這個結果顯然不是我們要的,更好的結果是頁面可以從上到下按順序流式渲染,這樣可能...

Vue效能優化

1 我們可以直接在data函式return之前直接this.的方式掛在例項上,在methods中還可以訪問,但是又不會觸發響應式跟蹤 改寫後變成這樣 data 2 v if和v show if根本不會渲染該元素,所以某些想藏起來的htlm元素盡量用v if 而一些可能通過不同切換來實現顯隱的就可以用...

Vue效能優化

今天來談一談vue中一些效能優化的問題,僅僅是個人使用中的一些小心得,來,今天我一句廢話不多說,直接上內容好吧 1.v if和v show的使用,我們都知道這兩個都可以控制顯隱,那我們用哪個呢,個人覺得要從兩個方面入手來確定使用哪個,1.許可權的問題,只要涉及到許可權相關的展示用v if比較好 2....