Notice
Recent Posts
Recent Comments
Link
SeouliteLab
[Vue.js] activated: 컴포넌트 활성화 시 실행되는 훅 이해하기 본문
1. 개요
Vue.js에서 activated 훅은 keep-alive 컴포넌트가 활성화될 때 호출되는 라이프사이클 훅입니다. 컴포넌트 개발자는 이 훅을 사용하여 컴포넌트가 활성화될 때 필요한 작업을 수행하거나 데이터를 초기화할 수 있습니다.
activated 훅은 다음과 같은 상황에서 호출됩니다.
- keep-alive 컴포넌트가 처음으로 렌더링될 때
- keep-alive 컴포넌트가 비활성화된 후 다시 활성화될 때
2. activated 훅 사용 예시
다음은 activated 훅을 사용하는 예시입니다.
HTML
<template>
<div>
<h2>{{ title }}</h2>
<p>{{ content }}</p>
</div>
</template>
<script>
export default {
name: 'MyComponent',
data() {
return {
title: '제목',
content: '내용',
};
},
activated() {
// 컴포넌트 활성화 시 수행할 작업을 여기에 작성합니다.
console.log('컴포넌트가 활성화되었습니다!');
// 데이터 초기화
this.title = '새로운 제목';
this.content = '새로운 내용';
},
};
</script>
<style scoped>
/* 스타일 정의 */
</style>
설명:
- activated 훅은 keep-alive 컴포넌트가 활성화될 때 호출됩니다.
- 훅 내에서 컴포넌트 활성화 메시지를 콘솔에 출력합니다.
- 컴포넌트 데이터 속성인 title과 content를 새로운 값으로 초기화합니다.
3. activated 훅의 장점
activated 훅을 사용하면 다음과 같은 장점을 얻을 수 있습니다.
- 컴포넌트 활성화 시 작업 수행: 컴포넌트가 활성화될 때 필요한 작업을 수행할 수 있습니다. 예를 들어, 데이터 로딩, 애니메이션 실행, DOM 조작 등을 수행할 수 있습니다.
- 데이터 초기화: 컴포넌트가 활성화될 때마다 데이터를 초기화하여 항상 최신 상태를 유지할 수 있습니다.
- 사용자 경험 개선: 컴포넌트가 매번 새로 렌더링되는 것처럼 보이도록 하여 사용자 경험을 개선할 수 있습니다.
4. 주의 사항
- activated 훅은 keep-alive 컴포넌트에서만 사용할 수 있습니다. 일반 컴포넌트에서는 사용할 수 없습니다.
- activated 훅은 컴포넌트가 처음 렌더링될 때에도 호출됩니다.
- activated 훅은 컴포넌트 렌더링 과정에 영향을 미치지 않습니다. 렌더링 과정 중에 수행해야 하는 작업은 다른 훅을 사용해야 합니다.
5. activated 훅과 함께 사용할 수 있는 다른 훅
- deactivated: keep-alive 컴포넌트가 비활성화될 때 호출됩니다.
- beforeEnter: keep-alive 컴포넌트가 활성화되기 직전에 호출됩니다.
- beforeLeave: keep-alive 컴포넌트가 비활성화되기 직전에 호출됩니다.