최신 웹 브라우저에 통합된 로컬 저장소 기능을 사용하면 웹 사이트에서 특정 데이터 항목을 개인용 컴퓨터 또는 모바일 장치에 키-값 쌍 형태로 저장하고 검색할 수 있습니다. 이 기능은 사용자가 인터넷 브라우징 애플리케이션을 종료했는지 여부에 관계없이 정보를 지속적으로 저장할 수 있는 효율적인 수단을 제공합니다.
Vue 애플리케이션에서 로컬 스토리지 통합을 활용하면 목록 및 작은 크기의 정보를 포함한 사용자 데이터를 보존할 수 있으므로 다양한 세션 간격에 걸쳐 이러한 데이터의 연속성을 유지할 수 있습니다.
이 튜토리얼을 마치면 데이터 저장 목적으로 로컬 스토리지를 활용하면서 작업을 추가 및 제거할 수 있는 완전히 작동하는 Vue.js 할 일 애플리케이션을 보유하게 됩니다.
Vue 할 일 애플리케이션 설정하기
프로그래밍 작업을 시작하기 전에 각 시스템 또는 장치에 Node.js 및 npm(노드 패키지 관리자)이 설치되어 있는지 확인해야 합니다.
새로운 작업의 개발을 시작하려면 Node Package Manager(npm)를 사용하여 다음 명령을 실행하십시오:
npm create vue
새 Vue 프로젝트를 설정하기 전에 사용 가능한 사전 설정 또는 템플릿에서 사전 정의된 구성 옵션을 선택하십시오. 이 옵션을 선택하면 지정된 설정에 필요한 종속성을 설치할 수 있습니다.
이 작업 관리 애플리케이션에는 추가 기능이 필요하지 않으므로 제공된 각 옵션에 대해 “아니요”를 선택하는 것이 적절할 것입니다.
프로젝트가 초기화되고 적절하게 구성되면, 로컬 스토리지를 기본 데이터 스토리지 솔루션으로 사용하는 작업 관리 도구 구축을 시작할 수 있습니다.
할 일 애플리케이션 만들기
Vue.js를 사용한 할 일 애플리케이션의 구현을 시연하기 위해 프로젝트 내에서 두 개의 별도 컴포넌트를 개발합니다. 첫 번째 컴포넌트인 App.vue는 전체 애플리케이션의 레이아웃과 구조의 기초 역할을 합니다. 동시에, 할당된 작업의 포괄적인 목록을 표시하도록 특별히 설계된 Todo.vue라는 또 다른 컴포넌트도 설정합니다.
할 일 컴포넌트 만들기
할 일 컴포넌트를 만들기 위해 “src/components/Todo.vue”라는 이름의 새로운 파일을 생성합니다. 이 특정 파일의 주요 기능은 과제 인벤토리의 아키텍처 구성을 조절하는 것입니다.
이 코드는 "remove-todo"라는 사용자 지정 이벤트의 인스턴스를 생성하며, 이 이벤트는 "할 일" 배열 내에서 대상 항목의 인덱스를 나타내는 식별자로 구성된 페이로드와 함께 발송됩니다. 이를 통해 제공된 인덱스 값을 사용하여 지정된 위치에서 해당 배열에서 특정 항목을 제거할 수 있습니다.
사용자 인터페이스에서 지정된 영역을 누르면 특정 요소에 의해 신호가 해제되어 감독 프레임워크 내에서 독점적인 상황이 시작됩니다. 이 발생은 클라이언트가 제어에 참여했음을 의미하며, 결과적으로 App.vue에 있는 감독 템플릿에 설명된 미리 결정된 프로세스가 활성화됩니다.
애플리케이션 만들기 €™의 보기 구성 요소
앱 구성 요소는 Todo 애플리케이션의 전반적인 기능을 관리하기 위한 중앙 허브 역할을 하며, 특히 새 작업을 추가하고 이를 Todo 구성 요소의 형태로 표시하는 프로세스를 처리합니다. 이 기능에 액세스하려면 프로젝트의 소스 코드 내에서 App.vue 파일로 이동하세요.
if (savedTodos) { todos.value.push(...JSON.parse(savedTodos)); } </script>
앞서 언급한 코드 발췌문은 App.vue 컴포넌트에 내재된 기능을 보여주는데, 여기에는 Todo 컴포넌트의 가져오기 및 초기화와 함께 반응형 데이터 구조를 설정하기 위해 Vue Composition API를 사용하는 기능이 포함되어 있습니다.
Todo 컴포넌트와 ref 함수를 각각의 소스에서 가져오는 것으로 시작하겠습니다. 구체적으로, Vue 내의 지정된 경로에서 가져옵니다.
초기화 시 이 코드는 사용자가 입력한 작업에 대한 버퍼 역할을 하는 “newTodo”라는 리액티브 문자열을 생성합니다. 또한 사용자의 작업 목록을 보관하기 위해 “todos”라는 빈 리액티브 배열을 설정합니다.
`addTodo` 함수는 사용자 확인 시 새로 입력된 작업을 `todos` 배열에 추가합니다. 이 기능의 목적은 사용자가 새 작업을 추가할 때마다 다시 입력할 필요 없이 한 번에 여러 작업을 입력할 수 있도록 하는 것입니다. 확인이 완료되면 다른 빈 줄이 감지되거나 사용자가 “지우기” 버튼을 클릭하는 등 필드를 지우기 위한 명시적인 조치를 취할 때까지 `newTodo` 필드에 추가 입력은 무시됩니다.
`addTodo` 함수는 브라우저의 로컬 저장소에 `todos` 배열을 저장하는 `saveToLocalStorage` 함수를 트리거합니다. 이 작업을 수행하기 위해 코드에서는 `setItem` 메서드를 사용하여 `todos` 배열을 저장하기 전에 JSON 문자열로 변환합니다.
애플리케이션은 ‘키’라고 하는 고유 식별자를 입력으로 받아들이는 removeTodo 함수로 구성되어 있습니다. 이 특정 키는 지정된 “할 일” 배열에서 관련 작업을 삭제하는 데 사용됩니다. 삭제에 성공하면 removeTodo 함수는 saveToLocalStorage 프로세스를 활성화하여 로컬 스토리지에 저장된 정보를 수정합니다.
마지막으로, 이 코드는 로컬 스토리지에서 제공하는 `getItem` 함수를 활용하여 `todos` 키를 사용하여 이전에 저장된 작업을 검색합니다. 브라우저의 LocalStorage에 저장된 작업이 있으면 `todos` 배열에 추가됩니다.
“App” 컴포넌트의 시각적 표현을 설정하려면 Vue 애플리케이션의 루트 요소의 `` 태그 내에 다음 코드를 삽입해야 합니다:
<!-- App.vue --> <template> <div class="app"> <h1>To do List</h1> <div class="add-todo"> <input v-model="newTodo" @keyup.enter="addTodo" placeholder="Add a new task" class="todo-input" />
이 템플릿은 Vue의 반응성 시스템을 활용하여 `v-model`의 유틸리티를 사용하여 사용자가 입력한 작업과 동적으로 업데이트되는 `newTodo` 반응성 변수 상태 간에 양방향 바인딩을 설정합니다. 또한 이 템플릿은 `v-on` 지시어 내에서 다용도 `@` 기호를 사용하여 애플리케이션 내에서 발생할 수 있는 다양한 이벤트를 효과적으로 처리함으로써 Vue에서 이벤트 리스너를 효율적이고 간결하게 관리할 수 있는 수단을 제공합니다.
이 코드는 `v-on` 지시문을 사용하여 새로 추가된 Todo 항목의 유효성을 검사하기 위해 클릭 및 입력 키 이벤트를 모두 모니터링합니다.
이 템플릿은 처음에 개발된 할 일 구성 요소를 사용하여 목록 내의 작업 열거를 렌더링하는 데 활용합니다. 콜론 뒤에 “할 일”을 사용하고 중괄호를 추가하여 할 일 배열 전체를 이 특정 할 일 구성 요소의 소품으로 효과적으로 전달하고 있습니다.
“@remove-todo” 지시문을 사용하면 Todo 컴포넌트에서 발생하는 사용자 지정 이벤트에 대한 리스너가 설정되고, 그 결과 “removeTodo” 함수가 트리거됩니다.
애플리케이션을 완성하면 원하는 대로 모양을 개인화할 수 있는 기회가 주어집니다. 애플리케이션이 작동하는 라이브 데모를 보려면 제공된 명령을 실행하기만 하면 됩니다.
npm run dev
인터페이스를 보면 다음과 유사한 디스플레이가 나타납니다:
Todo 애플리케이션의 기능을 사용하면 작업을 추가하고 제거할 수 있을 뿐만 아니라 사용자가 애플리케이션을 새로 고치거나 완전히 닫는 경우에도 변경 사항이 유지됩니다(LocalStorage와의 원활한 통합으로 인해).
로컬 스토리지의 중요성
웹 개발에서 로컬 스토리지를 활용하는 것은 이제 막 시작했거나 경험이 풍부한 사람을 포함하여 모든 수준의 전문성을 가진 개인에게 매우 중요합니다. 이 기능은 사용자가 생성한 콘텐츠를 저장하고 복구할 수 있도록 하여 영구 데이터 저장소에 대한 소개를 제공합니다.
여러 번의 브라우징 세션이 종료된 후에도 사용자 데이터의 무결성을 유지하려면 로컬 스토리지를 활용하는 것이 중요합니다. 이 기능은 서버 상호 작용 빈도를 줄여 로딩 속도를 향상시키고 웹 기반 애플리케이션 내에서 보다 효율적인 성능을 촉진합니다.
상상력이 풍부한 웹 디자이너이자 안드로이드 앱 마니아인 이지원님은 예술적 감각과 기술적 노하우가 독특하게 조화를 이루고 있습니다. 모바일 기술의 방대한 잠재력을 끊임없이 탐구하고, 최적화된 사용자 중심 경험을 제공하기 위해 최선을 다하고 있습니다. 창의적인 비전과 뛰어난 디자인 역량을 바탕으로 All Things N의 잠재 독자가 공감할 수 있는 매력적인 콘텐츠를 제작합니다.