Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 중도인출
- 뇌출혈
- 자바스크립트
- 급성심근경색증
- 추가납입
- 교보생명
- 인출수수료
- javascript
- 교보
- 파이썬
- 가입
- python
- 사망
- 보험료
- 보험
- 납입
- 프로그래밍
- 코딩
- PythonProgramming
- 특약
- Vue.js
- Java
- 심장질환
- 리스트
- jQuery
- 문자열
- 수수료
- 프론트엔드
- 변환
- 웹개발
Archives
- Today
- Total
SeouliteLab
[Vue.js] deactivated: 컴포넌트 비활성화 시 실행되는 훅 이해하기 본문
1. 개요
Vue.js에서 deactivated 훅은 keep-alive 컴포넌트가 비활성화될 때 호출되는 라이프사이클 훅입니다. 컴포넌트 개발자는 이 훅을 사용하여 컴포넌트가 비활성화될 때 필요한 작업을 수행하거나 데이터를 정리할 수 있습니다.
deactivated 훅은 다음과 같은 상황에서 호출됩니다.
- keep-alive 컴포넌트가 다른 컴포넌트로 인해 비활성화될 때
- keep-alive 컴포넌트가 메모리 부족으로 인해 비활성화될 때
2. deactivated 훅 사용 예시
다음은 deactivated 훅을 사용하는 예시입니다.
HTML
<template>
<div>
<h2>{{ title }}</h2>
<p>{{ content }}</p>
</div>
</template>
<script>
export default {
name: 'MyComponent',
data() {
return {
title: '제목',
content: '내용',
};
},
deactivated() {
// 컴포넌트 비활성화 시 수행할 작업을 여기에 작성합니다.
console.log('컴포넌트가 비활성화되었습니다!');
// 데이터 정리
this.title = '';
this.content = '';
},
};
</script>
<style scoped>
/* 스타일 정의 */
</style>
설명:
- deactivated 훅은 keep-alive 컴포넌트가 비활성화될 때 호출됩니다.
- 훅 내에서 컴포넌트 비활성화 메시지를 콘솔에 출력합니다.
- 컴포넌트 데이터 속성인 title과 content를 빈 문자열로 초기화하여 데이터를 정리합니다.
3. deactivated 훅의 장점
deactivated 훅을 사용하면 다음과 같은 장점을 얻을 수 있습니다.
- 컴포넌트 비활성화 시 작업 수행: 컴포넌트가 비활성화될 때 필요한 작업을 수행할 수 있습니다. 예를 들어, 이벤트 제거, 리소스 해제, 데이터 저장 등을 수행할 수 있습니다.
- 데이터 정리: 컴포넌트가 비활성화될 때 데이터를 정리하여 메모리 사용량을 줄일 수 있습니다.
- 성능 향상: 컴포넌트가 비활성화된 후에도 불필요한 작업을 수행하지 않도록 하여 성능을 향상시킬 수 있습니다.
4. 주의 사항
- deactivated 훅은 keep-alive 컴포넌트에서만 사용할 수 있습니다. 일반 컴포넌트에서는 사용할 수 없습니다.
- deactivated 훅은 컴포넌트가 완전히 DOM에서 제거되기 전에 호출됩니다.
- deactivated 훅은 컴포넌트 렌더링 과정에 영향을 미치지 않습니다. 렌더링 과정 중에 수행해야 하는 작업은 다른 훅을 사용해야 합니다.
5. deactivated 훅과 함께 사용할 수 있는 다른 훅
- activated: keep-alive 컴포넌트가 활성화될 때 호출됩니다.
- beforeEnter: keep-alive 컴포넌트가 활성화되기 직전에 호출됩니다.
- beforeLeave: keep-alive 컴포넌트가 비활성화되기 직전에 호출됩니다.