激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務(wù)器之家 - 編程語言 - JavaScript - vue.js - vue中activated的用法

vue中activated的用法

2021-12-24 15:07之鹿喵 vue.js

這篇文章主要介紹了vue中activated的用法,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下

keep-alive

<keep-alive>包裹動態(tài)組件的時候,會緩存不活動的組件實例,而不是摧毀他們。其是一個抽象的組件,自身不會渲染一個DOM元素,也不會出現(xiàn)在父組件鏈中。
說白了被<keep-alive>包裹的組件其會被緩存
廢話不多說直接上例子.

我們現(xiàn)在創(chuàng)建兩個子組件conpoment1,compoment2,其內(nèi)容如下

<template>
 <div class="wrapper">
  <ul class="content"></ul>
  <button class="add" id="add" @click="add">添加子元素</button>
 </div>
</template>

<script>
export default {
 data() {
  return {};
 },
 methods: {
  add() {
   let ul = document.getElementsByClassName("content")[0]; 
   let li = document.createElement("li");
   li.innerHTML = "我是添加的元素";
   ul.appendChild(li);   
  }
 }
};
</script>
<style >
</style>

代碼不用解釋了吧,就是點擊按鈕在ul動態(tài)添加一個li元素。
接著我們在路由中注冊一下,再回到APP.vue中修改一下配置

<template>
 <div id="app">
  <keep-alive>
   <router-view />
  </keep-alive>
</template>

這樣我們就會發(fā)現(xiàn),當(dāng)我們切換路由的時候,我們之前添加的子元素還回保存在那里

vue中activated的用法

如果是這樣的話所有的頁面都被緩存了,一些需要重新加載不需要緩存的我們可以通過v-for來實現(xiàn)。當(dāng)然我們可以在路由中設(shè)置一個key值來判斷組件是否需要緩存,就像下面這樣

//index.js
{
   path: "/1",
   name: "components1",
   component: Components1,
   meta: {
    keepAlive: true  //判斷是否緩存
   }
  },
  {
   path: "/2",
   name: "components2",
   component: Components2,
   meta: {
     keepAlive: false
   }
  },

然后我們的App.vue中只需要判斷其keepAlive值即可

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

這時候我們回到頁面中添加子元素并切換路由就會發(fā)現(xiàn)只有components1中的組件有緩存。

activated

先說下這個生命周期鉤子,官網(wǎng)說其是在服務(wù)器端渲染期間不被調(diào)用,
說白了其就是在掛載后和更新前被調(diào)用的。但如果該組件中沒有使用緩存,也就是沒有被<keep-alive>包裹的話,activated是不起作用的。我們直接來試一下就知道了。

//components1中
 created() {
  console.log("1激活created鉤子函數(shù)");
 },
 activated() {
  console.log("1激活activated鉤子函數(shù)");
 },
 mounted() {
  console.log("1激活mounted鉤子函數(shù)");
 }

//components2中
 created() {
  console.log("2激活created鉤子函數(shù)");
 },
 activated() {
  console.log("2激活activated鉤子函數(shù)");
 },
 mounted() {
  console.log("2激活mounted鉤子函數(shù)");
 }

我們在2個組件中分別打印出其鉤子函數(shù)執(zhí)行情況。我們可以看到

vue中activated的用法

在執(zhí)行components1時候其是執(zhí)行了activated鉤子函數(shù)的,而components2則沒有,因為components2并沒有被<keep-alive>包裹,所以其并不會激活該鉤子函數(shù)。

當(dāng)我們再切換一次路由的時候又發(fā)現(xiàn)了神奇的地方

vue中activated的用法

組件1中只執(zhí)行activated鉤子鉤子函數(shù),而組件2則把創(chuàng)建和掛載的鉤子函數(shù)都執(zhí)行了。
這就是緩存的原因,components其對組件進行了緩存所以并不會再一次執(zhí)行創(chuàng)建和掛載。

簡單的說activated()函數(shù)就是一個頁面激活后的鉤子函數(shù),一進入頁面就觸發(fā);

所以當(dāng)我們運用了組件緩存時,如果想每次切換都發(fā)送一次請求的話,需要把請求函數(shù)寫在activated中,而寫在created或mounted中其只會在首次加載該組件的時候起作用。

補充:

keep-alive組件除了actived,還有deactived函數(shù)鉤子

activated

類型:func

觸發(fā)時機:keep-alive組件激活時使用;

deactivated

類型:func

觸發(fā)時機:keep-alive組件停用時調(diào)用;

以上就是vue中activated的用法的詳細(xì)內(nèi)容,更多關(guān)于vue activated用法的資料請關(guān)注服務(wù)器之家其它相關(guān)文章!

原文鏈接:https://www.cnblogs.com/zhilu/p/13813713.html

延伸 · 閱讀

精彩推薦
  • vue.jsVue2.x 項目性能優(yōu)化之代碼優(yōu)化的實現(xiàn)

    Vue2.x 項目性能優(yōu)化之代碼優(yōu)化的實現(xiàn)

    這篇文章主要介紹了Vue2.x 項目性能優(yōu)化之代碼優(yōu)化的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋...

    優(yōu)小U9632022-02-21
  • vue.jsVue中引入svg圖標(biāo)的兩種方式

    Vue中引入svg圖標(biāo)的兩種方式

    這篇文章主要給大家介紹了關(guān)于Vue中引入svg圖標(biāo)的兩種方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的...

    十里不故夢10222021-12-31
  • vue.jsVue2.x-使用防抖以及節(jié)流的示例

    Vue2.x-使用防抖以及節(jié)流的示例

    這篇文章主要介紹了Vue2.x-使用防抖以及節(jié)流的示例,幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下...

    Kyara6372022-01-25
  • vue.jsVue多選列表組件深入詳解

    Vue多選列表組件深入詳解

    這篇文章主要介紹了Vue多選列表組件深入詳解,這個是vue的基本組件,有需要的同學(xué)可以研究下...

    yukiwu6752022-01-25
  • vue.js詳解vue 表單綁定與組件

    詳解vue 表單綁定與組件

    這篇文章主要介紹了vue 表單綁定與組件的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下...

    Latteitcjz6432022-02-12
  • vue.js用vite搭建vue3應(yīng)用的實現(xiàn)方法

    用vite搭建vue3應(yīng)用的實現(xiàn)方法

    這篇文章主要介紹了用vite搭建vue3應(yīng)用的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下...

    Asiter7912022-01-22
  • vue.js梳理一下vue中的生命周期

    梳理一下vue中的生命周期

    看過很多人講vue的生命周期,但總是被繞的云里霧里,尤其是自學(xué)的同學(xué),可能js的基礎(chǔ)也不是太牢固,聽起來更是吃力,那我就已個人之淺見,以大白話...

    CRMEB技術(shù)團隊7992021-12-22
  • vue.jsVue項目中實現(xiàn)帶參跳轉(zhuǎn)功能

    Vue項目中實現(xiàn)帶參跳轉(zhuǎn)功能

    最近做了一個手機端系統(tǒng),其中遇到了父頁面需要攜帶參數(shù)跳轉(zhuǎn)至子頁面的問題,現(xiàn)已解決,下面分享一下實現(xiàn)過程,感興趣的朋友一起看看吧...

    YiluRen丶4302022-03-03
主站蜘蛛池模板: 国产欧美一区二区三区免费看 | 久久精品视频一区二区三区 | 九九黄色 | 久在线观看福利视频69 | 日本看片一区二区三区高清 | wwwav国产| 91精品国产综合久久久动漫日韩 | 中文字幕在线永久视频 | 91女上位 在线播放 bt 自拍 另类 综合 欧美 | 综合99| 精品亚洲在线 | 国产成人精品区一区二区不卡 | 久久爽精品区穿丝袜 | 被玩坏了的女老师(高h np) | 国产91九色视频 | 国产18视频 | 久久人体 | 视频在线中文字幕 | 巨乳毛片 | 免费久久精品 | 色综合久久久久久久久久 | 中国一级免费视频 | 欧美另类69xxxxx 视频 | 韩国一大片a毛片 | 日韩av一二三区 | 污污网站入口 | 免费黄色大片在线观看 | 他也色在线视频 | 成人午夜激情网 | 在线观看网址av | 粉嫩粉嫩一区二区三区在线播放 | 色人阁在线视频 | 久久久久亚洲美女啪啪 | 日朝毛片| 黄色视屏免费在线观看 | 男人午夜视频 | 91免费版在线观看 | 国产无遮挡一区二区三区毛片日本 | 久久久噜噜噜久久熟有声小说 | 中国精品久久 | 久久国产28|