当前位置:首页 > VUE

要实现vue deactivated

2026-01-17 17:07:02VUE

Vue 组件的 deactivated 生命周期钩子

在 Vue.js 中,deactivated<keep-alive> 缓存组件特有的生命周期钩子。当组件被 <keep-alive> 包裹并从 DOM 中移除(但未被销毁)时触发,通常发生在路由切换或动态组件切换时。

基本用法

组件需被 <keep-alive> 包裹才能触发 deactivated

<template>
  <keep-alive>
    <my-component v-if="showComponent" />
  </keep-alive>
</template>

在组件中定义钩子:

export default {
  deactivated() {
    console.log('组件被停用');
    // 可在此执行清理操作,如暂停定时器、取消事件监听等
  }
}

典型使用场景

清理资源

deactivated() {
  clearInterval(this.timer); // 清除定时器
  window.removeEventListener('resize', this.handleResize); // 移除事件监听
}

保存组件状态

要实现vue deactivated

data() {
  return {
    scrollPosition: 0
  };
},
deactivated() {
  this.scrollPosition = window.scrollY; // 保存滚动位置
},
activated() {
  window.scrollTo(0, this.scrollPosition); // 恢复滚动位置
}

注意事项

  • deactivated 需与 activated 配对使用,前者在离开缓存时触发,后者在重新进入缓存时触发
  • 未被 <keep-alive> 包裹的组件不会触发这两个钩子
  • destroyed 不同,deactivated 时组件实例仍被保留,数据不会丢失

标签: vuedeactivated
分享给朋友:

相关文章

实现vue组件

实现vue组件

Vue 组件的基本实现 Vue 组件是 Vue.js 的核心特性之一,允许将 UI 拆分为独立、可复用的模块。以下是实现 Vue 组件的几种方式: 单文件组件 (SFC) 使用 .vue 文件格式,…

甘特图vue实现

甘特图vue实现

甘特图 Vue 实现方法 使用开源库 vue-ganttastic 安装依赖: npm install vue-ganttastic 基础实现代码: <template> <…

vue实现刷卡

vue实现刷卡

Vue 实现刷卡效果 在 Vue 中实现刷卡效果可以通过 CSS 动画和 Vue 的过渡系统结合完成。以下是一种常见的实现方式: 基础实现方法 安装 Vue 过渡依赖(如果尚未安装): npm i…

vue实现翻页

vue实现翻页

Vue实现翻页功能 在Vue中实现翻页功能通常需要结合分页组件和数据请求逻辑。以下是常见的实现方法: 使用Element UI分页组件 安装Element UI后,可以直接使用其分页组件:…

vue分页实现

vue分页实现

实现Vue分页的几种方法 使用Element UI的分页组件 安装Element UI库后,可以直接使用其分页组件。以下是一个基本示例: <template> <div>…

vue如何实现登录

vue如何实现登录

实现登录功能的基本步骤 使用Vue实现登录功能通常需要结合后端API、状态管理以及路由控制。以下是常见的实现方式: 创建登录表单组件 在Vue组件中构建包含用户名和密码输入框的表单: <te…