亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue項目優化之通過keep-alive數據緩存的方法

發布時間:2020-08-30 09:09:43 來源:腳本之家 閱讀:343 作者:羞羞的鐵拳 欄目:web開發

<keep-alive>是Vue的內置組件,能在組件切換過程中將狀態保留在內存中,防止重復渲染DOM。

<keep-alive> 包裹動態組件時,會緩存不活動的組件實例,而不是銷毀它們。和 <transition> 相似,<keep-alive> 是一個抽象組件:它自身不會渲染一個 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: '/home',
        name: home,
        meta:{keepAlive: true}   // 設置為true表示需要緩存,不設置或者false表示不需要緩存                    }
     ]

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

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

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

门源| 孙吴县| 囊谦县| 无棣县| 东山县| 绥滨县| 扎赉特旗| 阿克苏市| 全州县| 山东| 卫辉市| 和平区| 双牌县| 应用必备| 南丹县| 阜城县| 菏泽市| 绩溪县| 尉犁县| 绿春县| 谢通门县| 桃园县| 紫云| 侯马市| 临城县| 清河县| 麻江县| 贵州省| 光泽县| 山阴县| 绥阳县| 开化县| 青冈县| 惠州市| 读书| 双桥区| 长垣县| 两当县| 沾化县| 靖边县| 启东市|