vue3.2新增指令v-memo的基本使用教程
v-memo的講解
vue3.2中新增了一個(gè)性能優(yōu)化的指令;
這個(gè)指令就是v-memo;
v-memo:可以做性能優(yōu)化,v-memo中值若不發(fā)生變化,整個(gè)子樹(shù)的更新會(huì)被跳過(guò)。
<div v-memo="[valueA, valueB]">
...
</div>
當(dāng)組件重新渲染的時(shí)候,如果 valueA 與 valueB 都維持不變。
那么對(duì)這個(gè) <div> 以及它的所有子節(jié)點(diǎn)的更新都將被跳過(guò)。
事實(shí)上,即使是虛擬 DOM 的 VNode 創(chuàng)建也將被跳過(guò),因?yàn)樽訕?shù)的記憶副本可以被重用。
這樣一來(lái),性能將會(huì)顯著提升。
場(chǎng)景描述
假設(shè)后端返回來(lái)了10000條數(shù)據(jù)。
前端需要做篩選。
選出符合條件的數(shù)據(jù)進(jìn)行展示。
如果沒(méi)有符合條件的。則保持上次的搜索結(jié)果。
v-memo的使用
<template> <div class="home"> <input type="text" v-model="jiaoSheng"> <!-- v-memo中值若不發(fā)生變化,則不會(huì)進(jìn)行更新 --> <ul v-memo="[shouldUpdate]"> <li class="licss" v-for="item in arr" :key="item"> {{ jiaoSheng }} -- {{ animalType[jiaoSheng] }} </li> </ul> </div> </template> <script lang="ts" setup> import { ref } from "@vue/reactivity" import { watch } from "@vue/runtime-core" const arr=new Array(10000) const animalType={ 'mie':'??', 'mo':'??', 'miao':'??', } const jiaoSheng=ref('mie') const shouldUpdate=ref(0) // 監(jiān)聽(tīng)jiaoSheng(輸入框中的值)。 // 如果數(shù)據(jù)發(fā)生變化,并且在animalType對(duì)象中存在。試圖進(jìn)行更新。否則試圖不進(jìn)行更新。 watch(()=>jiaoSheng.value,()=>{ if(Object.keys(animalType).includes(jiaoSheng.value)){ shouldUpdate.value++ } }) </script>
總結(jié)
到此這篇關(guān)于vue3.2新增指令v-memo基本使用的文章就介紹到這了,更多相關(guān)vue3.2新增指令v-memo內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vite中使用Ant?Design?Vue3.x框架教程示例
這篇文章主要為大家介紹了Vite中使用Ant?Design?Vue3.x框架教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06Vue router傳遞參數(shù)并解決刷新頁(yè)面參數(shù)丟失問(wèn)題
這篇文章主要介紹了Vue router傳遞參數(shù)并解決刷新頁(yè)面參數(shù)丟失問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12Electron+vite+vuetify項(xiàng)目搭建的流程和方法
最近想用Electron來(lái)進(jìn)行跨平臺(tái)的桌面應(yīng)用開(kāi)發(fā),同時(shí)想用vuetify作為組件,于是想搭建一個(gè)這樣的開(kāi)發(fā)環(huán)境,這里分享下Electron+vite+vuetify項(xiàng)目搭建的流程和方法,感興趣的朋友一起看看吧2024-06-06優(yōu)化Vue template中大量條件選擇v-if的方案分享
本文我們將給大家詳細(xì)的講解一下如何優(yōu)化Vue template 中的大量條件選擇v-if,文中通過(guò)代碼示例介紹的非常詳細(xì),有詳細(xì)的優(yōu)化方案,感興趣的朋友可以參考閱讀下2023-07-07基于Electron24+Vite4+Vue3搭建桌面端應(yīng)用實(shí)戰(zhàn)教程
這篇文章主要介紹了基于Electron24+Vite4+Vue3搭建桌面端應(yīng)用,這次給大家主要分享的是基于electron最新版本整合vite4.x構(gòu)建vue3桌面端應(yīng)用程序,需要的朋友可以參考下2023-05-05nuxt 自定義 auth 中間件實(shí)現(xiàn)令牌的持久化操作
這篇文章主要介紹了nuxt 自定義 auth 中間件實(shí)現(xiàn)令牌的持久化操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11利用nodeJS+vue圖片上傳實(shí)現(xiàn)更新頭像的過(guò)程
Vue是一套構(gòu)建用戶界面的框架,最近工作中遇到了一個(gè)需求,需要做一個(gè)更新頭像的通能,下面這篇文章主要給大家介紹了關(guān)于利用nodeJS+vue圖片上傳的相關(guān)資料,需要的朋友可以參考下2022-04-04Vuerouter的beforeEach與afterEach鉤子函數(shù)的區(qū)別
本文詳細(xì)的介紹了Vuerouter的beforeEach與afterEach鉤子函數(shù)的區(qū)別和使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12vue中ref引用操作DOM元素的實(shí)現(xiàn)
本文主要介紹了vue中ref引用操作DOM元素的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01