自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Vue2的Keep-Alive 有哪些生命周期鉤子函數(shù)

開發(fā) 前端
當 MyComponent? 被隱藏時,它會被 <keep-alive>? 緩存起來,并且會調(diào)用 deactivated? 鉤子;當再次顯示時,會調(diào)用 activated 鉤子。

1. vue2的keep-alive  有哪些生命周期鉤子函數(shù)

在 Vue 2 中,<keep-alive> 組件為被包裹的組件引入了兩個額外的生命周期鉤子:activated 和 deactivated。

這兩個鉤子分別在組件被激活和停用時調(diào)用。

下面是這兩個鉤子的詳細信息以及如何使用它們:

1.1. activated 鉤子

當一個被 <keep-alive> 纏繞的組件被重新激活時(即從緩存中取出并重新添加到 DOM 中),activated 鉤子將會被調(diào)用。

這是執(zhí)行組件初始化工作或更新操作的好時機。

1.2. deactivated 鉤子

當一個被 <keep-alive> 纏繞的組件被停用時(即從 DOM 中移除但仍然被緩存),deactivated 鉤子將會被調(diào)用。

這通常用于釋放資源或取消事件監(jiān)聽器等操作。

1.3. 使用示例

下面是一個簡單的示例,展示了如何在一個組件中使用 activated 和 deactivated 鉤子:

// MyComponent.vue
export default {
  name: 'MyComponent',
  data() {
    return {
      message: 'Hello from MyComponent!'
    };
  },
  activated() {
    console.log('MyComponent activated.');
    // 當組件被激活時做一些事情,如重新獲取數(shù)據(jù)
  },
  deactivated() {
    console.log('MyComponent deactivated.');
    // 當組件被停用時做一些清理工作
  },
  methods: {
    fetchData() {
      // 假設這是一個獲取數(shù)據(jù)的方法
      console.log('Fetching data...');
    }
  }
};

然后在父組件中使用 <keep-alive> 包裹 MyComponent:

<template>
  <div>
    <keep-alive>
      <my-component v-if="showMyComponent" />
    </keep-alive>
    <button @click="toggleComponent">Toggle Component</button>
  </div>
</template>

<script>
import MyComponent from './components/MyComponent.vue';

export default {
  components: {
    MyComponent
  },
  data() {
    return {
      showMyComponent: true
    };
  },
  methods: {
    toggleComponent() {
      this.showMyComponent = !this.showMyComponent;
    }
  }
};
</script>

在這個例子中,當點擊按鈕時,v-if 將會使 MyComponent 在 DOM 中切換顯示和隱藏狀態(tài)。

當 MyComponent 被隱藏時,它會被 <keep-alive> 緩存起來,并且會調(diào)用 deactivated 鉤子;當再次顯示時,會調(diào)用 activated 鉤子。

通過這種方式,你可以有效地管理組件的生命周期,特別是在涉及到組件復用和性能優(yōu)化的情況下。

責任編輯:武曉燕 來源: 前端愛好者
相關(guān)推薦

2024-10-07 09:49:14

2023-04-28 08:35:22

Vue 3Vue 2

2022-11-24 13:55:47

React類組件

2022-02-08 08:22:34

HTTP短連接TCP

2013-08-01 09:40:51

Windows 8.1

2021-10-20 07:18:51

微信小程序函數(shù)

2021-11-17 08:21:31

HTTP連接數(shù)據(jù)

2015-07-08 16:28:23

weak生命周期

2022-04-19 07:20:24

軟件開發(fā)安全生命周期SSDLC應用安全

2009-06-11 11:28:35

JSF生命周期

2010-07-14 10:48:37

Perl線程

2009-06-18 13:32:39

Java線程生命周期

2012-04-28 13:23:12

Java生命周期

2011-06-16 09:31:21

ActivityAndroid

2023-06-19 08:23:28

kubernetes容器

2011-05-20 17:59:06

回調(diào)函數(shù)

2009-06-24 10:47:55

JSF生命周期

2012-06-20 10:29:16

敏捷開發(fā)

2013-08-19 17:03:00

.Net生命周期對象

2021-07-19 05:52:29

網(wǎng)絡生命周期網(wǎng)絡框架
點贊
收藏

51CTO技術(shù)棧公眾號