最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue keep-alive中的生命周期解讀

 更新時(shí)間:2023年10月21日 14:27:44   作者:nilmao  
這篇文章主要介紹了vue keep-alive中的生命周期,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

vue keep-alive生命周期

keep-alive是 Vue 提供的一個(gè)內(nèi)置組件,用來對(duì)組件進(jìn)行緩存——在組件切換過程中將狀態(tài)保留在內(nèi)存中,防止重復(fù)渲染DOM。

如果為一個(gè)組件包裹了 keep-alive,那么它會(huì)多出兩個(gè)生命周期:deactivated、activated。

同時(shí),beforeDestroy 和 destroyed 就不會(huì)再被觸發(fā)了,因?yàn)榻M件不會(huì)被真正銷毀。

當(dāng)引入keep-alive的時(shí)候,頁面第一次進(jìn)入,鉤子的觸發(fā)順序created-> mounted-> activated,退出時(shí)觸發(fā)deactivated。

當(dāng)再次進(jìn)入(前進(jìn)或者后退)時(shí),只觸發(fā)activated。

被keep-alive包裹的動(dòng)態(tài)組件或router-view會(huì)緩存不活動(dòng)的實(shí)例,再次被調(diào)用這些被緩存的實(shí)例會(huì)被再次復(fù)用,對(duì)于我們的某些不是需要實(shí)時(shí)更新的頁面來說大大減少了性能上的消耗,不需要再次發(fā)送HTTP請(qǐng)求,但是同樣也存在一個(gè)問題就是被keep-alive包裹的組件我們請(qǐng)求獲取的數(shù)據(jù)不會(huì)再重新渲染頁面,這也就出現(xiàn)了例如我們使用動(dòng)態(tài)路由做匹配的話頁面只會(huì)保持第一次請(qǐng)求數(shù)據(jù)的渲染結(jié)果,所以需要我們在特定的情況下強(qiáng)制刷新某些組件

1.利用include、exclude屬性

<keep-alive include="orderList">
      <router-view></router-view>
</keep-alive>
<keep-alive exclude="index">
      <router-view></router-view>
</keep-alive>

include屬性表示只有name屬性為orderList的組件會(huì)被緩存,(注意是組件的名字,不是路由的名字)其它組件不會(huì)被緩存exclude屬性表示除了name屬性為index的組件不會(huì)被緩存,其它組件都會(huì)被緩存

2.利用meta屬性

export default[
 {
  path:'/',
  name:'home',
  components:Home,
  meta:{
    keepAlive:true //需要被緩存的組件
 },
 {
  path:'/orderList',
  name:'orderList',
  components:Book,
  meta:{
     keepAlive:false //不需要被緩存的組件
 } 
]
<keep-alive>
  <router-view v-if="this.$route.meat.keepAlive"></router-view>
  <!--這里是會(huì)被緩存的組件-->
</keep-alive>
<keep-alive v-if="!this.$router.meta.keepAlive"></keep-alive>
<!--這里是不會(huì)被緩存的組件-->

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

普兰店市| 河源市| 舒城县| 志丹县| 丽水市| 健康| 博爱县| 玉山县| 志丹县| 贺兰县| 巩义市| 垫江县| 富川| 兴化市| 安新县| 尤溪县| 曲靖市| 华蓥市| 屏山县| 呼图壁县| 朔州市| 南康市| 宜黄县| 涟水县| 巴林左旗| 连云港市| 徐水县| 九寨沟县| 青河县| 丰城市| 临海市| 东明县| 沐川县| 铜鼓县| 桑日县| 濮阳市| 饶平县| 新民市| 拉萨市| 江西省| 裕民县|