Vue 3으로 데이터 유지
9054 단어 javascripttutorialvuewebdev
따라서 새로 고치거나 다시 로드할 때 구성 요소 내에 유지해야 하는 일부 데이터가 있다고 상상해 보십시오. 그 데이터는 사용자가 데이터와 상호 작용하거나 어떤 이유로 수정해야 할 때 그대로 유지되어야 했습니다. 이제 Vue 2로 돌아가서 Vuex 스토어를 사용한 다음 상태를 LocalStorage 또는 SessionStorage로 유지하는 패키지를 사용합니다. Vuex는 저장소를 유지한 다음 새로 고침 시 저장소에 데이터를 유지하고 페이지가 다시 로드되면 저장소 데이터를 가져와 저장소로 반환합니다.
이것이 현재 Vue 3으로 업그레이드된 Vue 2에서 수행한 방법입니다. Vue 3은 이 글을 작성할 당시 Vue 지속과 함께 작동하지 않으며 데이터를 항상 사용할 수 있도록 하는 새로운 방법을 찾아야 합니다. 어떻게 하죠? 글쎄, 우리는 Vuex라는 중개인을 제거하고 브라우저의 로컬 저장소로 직접 이동하여 이를 수행합니다.
아래 코드를 예로 들어 보겠습니다.
// Sets an item with a Key to local storage
const saveStorage = function(key, data) {
localStorage.setItem(key, JSON.stringify(data));
};
보시다시피 두 개의 매개변수를 받는 간단한 함수가 있습니다. 첫 번째는 키이고 '사용자' 또는 '토큰'과 같은 저장소 항목의 이름이며 데이터를 가져옵니다. 이제 로컬 스토리지 또는 세션 스토리지는 문자열만 처리하므로 데이터를 전달하기 전에 JSON.stringify가 수행하는 문자열로 변환해야 합니다.
완벽하지? 그렇다면 다음과 같은 기능을 사용하여 스토리지 데이터를 어떻게 얻습니까?
// Looks for a local storage item and returns if present
const getStorage = function(key, item) {
if( localStorage.getItem(key) && item) {
const data = JSON.parse(localStorage.getItem(key))
return data[item]
}
else if(localStorage.getItem(key)) {
return localStorage.getItem(key)
}
};
그래서 우리는 여기에서 두 가지 시나리오로 작업하고 있습니다.
마지막으로 더 이상 필요하지 않거나 사이트를 탐색할 때 파기할 데이터를 지우는 방법이 필요합니다.
// Clear a single item or the whole local storage
const clearStorage = function(key='false') {
if(key) {
localStorage.removeItem(key);
} else {
localStorage.clear();
}
}
다시 두 가지 시나리오가 있습니다.
정말 잘 작동하고 Vue SPA에서 데이터를 정말 쉽게 처리할 수 있으며 모든 구성 요소가 단일 데이터 소스에 액세스할 수 있습니다!
전체 파일은 다음과 같아야 하며 작동 방식에 대한 몇 가지 실제 사례는 아래 비디오를 확인하십시오.
// Sets an item with a Key to local storage
const saveStorage = function(key, data) {
localStorage.setItem(key, JSON.stringify(data));
};
// Looks for a local storage item and returns if present
const getStorage = function(key, item) {
if( localStorage.getItem(key) && item) {
const data = JSON.parse(localStorage.getItem(key))
return data[item]
}
else if(localStorage.getItem(key)) {
return localStorage.getItem(key)
}
};
// Clear a single item or the whole local storage
const clearStorage = function(key='false') {
if(key) {
localStorage.removeItem(key);
} else {
localStorage.clear();
}
}
// Exports all avaliable functions on the script
export {getStorage, saveStorage, clearStorage}
들러 주셔서 감사합니다. 즐거운 코딩하세요!
Reference
이 문제에 관하여(Vue 3으로 데이터 유지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/grahammorby/persist-data-with-vue-3-38pc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)