搜尋
首頁web前端js教程vue的專案優化之透過keep-alive資料快取的方法

本篇文章主要介紹了vue專案優化之透過keep-alive資料快取的方法,內容挺不錯的,現在分享給大家,也給大家做個參考。

是Vue的內建元件,能在元件切換過程中將狀態保留在記憶體中,防止重複渲染DOM。

包裹動態元件時,會快取不活動的元件實例,而不是銷毀它們。和 相似, 是抽像元件:它本身不會渲染一個 DOM 元素,也不會出現在父元件鏈中。

prop:

  1. include: 字串或正規表示式。只有匹配的組件會被快取。

  2. exclude: 字串或正規表示式。任何符合的元件都不會被快取。

透過vue提供的keep-alive減少對伺服器的請求次數        

VUE2.0中提供了一個keep-alive方法,可以用來緩存組件,避免多次加載相應的組件,減少效能的消耗。例如, 一個頁面的資料包括圖片、文字等使用者都已經載入完了,然後使用者透過點擊跳到了另一個介面。然後從另外一個介面通過返回又回到了原先的界面。如果沒有設定的話,那麼原先介面的資訊就要重新向伺服器要求得到。而透過vue提供的keep-alive可以是頁面的已經請求的資料得以保存,減少請求的次數,提高使用者的體驗程度。

快取元件又分為兩種,快取整個網站的頁面的元件或快取部分頁面的元件。

1、快取所有的頁面,適用於每個頁面都有請求的情況。方法如下,在需要快取的router-view用keep-alive標籤進行包裹起來。

<keep-alive>
<router-view></router-view>
</keep-alive>

將首次觸發請求寫到created鉤子裡邊,就能實現快取。例如從列表頁,去了詳情頁,回來還是原來的頁面。

2、快取部分元件或頁面,使用router.meta這個屬性透過判斷的方法可以實現。方法如下:              

<keep-alive v-if="$route.meta.keepAlive">
<router-view></router-view>
</keep-alive>
<router-view v-if="! $route.meta.keepAlive">
</router-view>

router設定如下:

 routers:[
      {  path: &#39;/home&#39;,
        name: home,
        meta:{keepAlive: true}   // 设置为true表示需要缓存,不设置或者false表示不需要缓存                    }
     ]

router設定如下:


##
<keep-alive include="a,b">
<component></component>
</keep-alive>   
<keep-alive exclude="c,d">
<component></component>
</keep-alive>

router設定如下:

##rrreee

router設定如下:

##rrreee

也可以透過新增的屬性include/exclude來設定。見名思意,include包含的意思,exclude除了的意思。這裡需要用到元件的名稱即name來進行設置,所以name肯定就要加上了。  加入 a,b元件需要緩存,c,d元件不需要快取。寫法如下:

rrreee

vue專案的最佳化也可以透過元件的按需載入來實現,就像圖片的懶載入一樣,如果客戶根本就沒有看到那些圖片,而我們卻在打開頁面的時候全部給加載完了,這樣會大大的增加請求的時間,降低用戶的體驗程度。懶加載在很多的網站都有用到,比如淘寶、京東等等這樣的購物網站,上面的圖片鏈接等等都很多,如果你把滾軸迅速的往下拉的時候,你可能會看到圖片加載的情況。具體怎麼使用,大家可以看另一篇文章: vue專案優化頁面的按需載入(vue webpack)

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網! 相關推薦:

Vue元件選項props的使用介紹

#Vue.js通用應用框架-Nuxt.js的解析###############關於vue.js簡單配置axios的方法介紹###################### ####

以上是vue的專案優化之透過keep-alive資料快取的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Python vs. JavaScript:選擇合適的工具Python vs. JavaScript:選擇合適的工具May 08, 2025 am 12:10 AM

選擇Python還是JavaScript取決於項目類型:1)數據科學和自動化任務選擇Python;2)前端和全棧開發選擇JavaScript。 Python因其在數據處理和自動化方面的強大庫而備受青睞,而JavaScript則因其在網頁交互和全棧開發中的優勢而不可或缺。

Python和JavaScript:了解每個的優勢Python和JavaScript:了解每個的優勢May 06, 2025 am 12:15 AM

Python和JavaScript各有優勢,選擇取決於項目需求和個人偏好。 1.Python易學,語法簡潔,適用於數據科學和後端開發,但執行速度較慢。 2.JavaScript在前端開發中無處不在,異步編程能力強,Node.js使其適用於全棧開發,但語法可能複雜且易出錯。

JavaScript的核心:它是在C還是C上構建的?JavaScript的核心:它是在C還是C上構建的?May 05, 2025 am 12:07 AM

javascriptisnotbuiltoncorc; sanInterpretedlanguagethatrunsonenginesoftenwritteninc.1)JavascriptwasdesignedAsignedAsalightWeight,drackendedlanguageforwebbrowsers.2)Enginesevolvedfromsimpleterterpretpretpretpretpreterterpretpretpretpretpretpretpretpretpretcompilerers,典型地,替代品。

JavaScript應用程序:從前端到後端JavaScript應用程序:從前端到後端May 04, 2025 am 12:12 AM

JavaScript可用於前端和後端開發。前端通過DOM操作增強用戶體驗,後端通過Node.js處理服務器任務。 1.前端示例:改變網頁文本內容。 2.後端示例:創建Node.js服務器。

Python vs. JavaScript:您應該學到哪種語言?Python vs. JavaScript:您應該學到哪種語言?May 03, 2025 am 12:10 AM

選擇Python還是JavaScript應基於職業發展、學習曲線和生態系統:1)職業發展:Python適合數據科學和後端開發,JavaScript適合前端和全棧開發。 2)學習曲線:Python語法簡潔,適合初學者;JavaScript語法靈活。 3)生態系統:Python有豐富的科學計算庫,JavaScript有強大的前端框架。

JavaScript框架:為現代網絡開發提供動力JavaScript框架:為現代網絡開發提供動力May 02, 2025 am 12:04 AM

JavaScript框架的強大之處在於簡化開發、提升用戶體驗和應用性能。選擇框架時應考慮:1.項目規模和復雜度,2.團隊經驗,3.生態系統和社區支持。

JavaScript,C和瀏覽器之間的關係JavaScript,C和瀏覽器之間的關係May 01, 2025 am 12:06 AM

引言我知道你可能會覺得奇怪,JavaScript、C 和瀏覽器之間到底有什麼關係?它們之間看似毫無關聯,但實際上,它們在現代網絡開發中扮演著非常重要的角色。今天我們就來深入探討一下這三者之間的緊密聯繫。通過這篇文章,你將了解到JavaScript如何在瀏覽器中運行,C 在瀏覽器引擎中的作用,以及它們如何共同推動網頁的渲染和交互。 JavaScript與瀏覽器的關係我們都知道,JavaScript是前端開發的核心語言,它直接在瀏覽器中運行,讓網頁變得生動有趣。你是否曾經想過,為什麼JavaScr

node.js流帶打字稿node.js流帶打字稿Apr 30, 2025 am 08:22 AM

Node.js擅長於高效I/O,這在很大程度上要歸功於流。 流媒體匯總處理數據,避免內存過載 - 大型文件,網絡任務和實時應用程序的理想。將流與打字稿的類型安全結合起來創建POWE

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境