vue 에서 keep-alive,activated 에 대한 연구 와 사용 에 대한 상세 한 설명
4630 단어 vuekeep-aliveactivated
아무리 생각해 도 이해 가 안 돼 서 도 모 에 게 물 어보 고 문 서 를 찾 아 봤 어 요!문득 깨 달 았 습 니 다.이 동쪽 은 keep-alive 라 는 동쪽 과 결합 하여 사용 한 것 이 었 습 니 다.아래 에 기록 하 겠 습 니 다.
keep-alive
쓸데없는 말 은 그만 하고 예 를 들 자.
우 리 는 현재 두 개의 하위 구성 요소 conpoment 1,copement 2 를 만 들 고 있 습 니 다.그 내용 은 다음 과 같 습 니 다.
<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>
코드 는 설명 할 필요 가 없 죠?단 추 를 누 르 면 l 동적 에 li 요 소 를 추가 하 는 것 입 니 다.이어서 우 리 는 루트 에 등록 을 하고 다시 APP.vue 로 돌아 가서 설정 을 수정 합 니 다
<template>
<div id="app">
<keep-alive>
<router-view />
</keep-alive>
</template>
이렇게 하면 우 리 는 우리 가 길 을 바 꿀 때,우리 가 이전에 추가 한 하위 요 소 를 다시 거기에 저장 하 는 것 을 발견 할 수 있 을 것 이다.그렇다면 모든 페이지 가 캐 시 되 었 습 니 다.캐 시 없 이 다시 불 러 와 야 하 는 경우 v-for 를 통 해 이 루어 질 수 있 습 니 다.물론 우 리 는 루트 에 키 값 을 설정 해서 구성 요소 에 캐 시가 필요 한 지 여 부 를 판단 할 수 있 습 니 다.아래 와 같이
//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>
이 때 우 리 는 페이지 에 하위 요 소 를 추가 하고 길 을 바 꾸 면 components 1 의 구성 요소 만 캐 시 되 어 있 음 을 발견 할 수 있 습 니 다.activated
먼저 이 라 이 프 사이클 고 리 를 말씀 드 리 겠 습 니 다.홈 페이지 에 서 는 서버 에서 렌 더 링 하 는 동안 호출 되 지 않 는 다 고 합 니 다.
마 운 트 후 업데이트 전에 호출 된 것 입 니 다.그러나 이 구성 요소 에 캐 시 를 사용 하지 않 았 다 면
//components1
created() {
console.log("1 created ");
},
activated() {
console.log("1 activated ");
},
mounted() {
console.log("1 mounted ");
}
//components2
created() {
console.log("2 created ");
},
activated() {
console.log("2 activated ");
},
mounted() {
console.log("2 mounted ");
}
우 리 는 두 구성 요소 에서 갈고리 함수 의 실행 상황 을 각각 출력 했다.우 리 는 볼 수 있다.components 1 을 실행 할 때 activated 갈고리 함 수 를 실 행 했 지만 components 2 는 실 행 했 습 니 다.components 2 는
우리 가 다시 길 을 바 꾸 었 을 때 또 신기 한 곳 을 발견 했다.
구성 요소 1 에 서 는 activated 갈고리 함수 만 실행 하고 구성 요소 2 에 서 는 생 성 및 마 운 트 된 갈고리 함 수 를 모두 실행 합 니 다.
이것 이 캐 시 때 문 입 니 다.components 는 구성 요 소 를 캐 시 했 기 때문에 다시 만 들 거나 마 운 트 하지 않 습 니 다.
간단하게 말하자면 activated()함 수 는 한 페이지 가 활성 화 된 갈고리 함수 로 페이지 에 들 어가 자마자 터치 합 니 다.
따라서 구성 요소 캐 시 를 사용 할 때 전환 할 때마다 요청 을 보 내 려 면 요청 함 수 를 activated 에 써 야 합 니 다.created 나 mounted 에 쓰 면 이 구성 요 소 를 처음 불 러 올 때 만 작 동 합 니 다.
이상 의 vue 에서 keep-alive,activated 의 연구 와 사용 에 대한 상세 한 설명 은 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 께 참고 가 되 고 저희 도 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Fastapi websocket 및 vue 3(Composition API)1부: FastAPI virtualenv 만들기(선택 사항) FastAPI 및 필요한 모든 것을 다음과 같이 설치하십시오. 생성main.py 파일 및 실행 - 브라우저에서 이 링크 열기http://127.0.0.1:...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.