So erstellen Sie eine Vue To-Do-App mit LocalStorage

So erstellen Sie eine Vue To-Do-App mit LocalStorage
Leser wie Sie unterstützen MUO. Wenn Sie über Links auf unserer Website einen Kauf tätigen, erhalten wir möglicherweise eine Affiliate-Provision. Mehr lesen.

LocalStorage ist eine in Browser integrierte Web-API, mit der Webanwendungen Schlüssel-Wert-Paare auf Ihrem lokalen Gerät speichern können. Es bietet eine einfache Methode zum Speichern von Daten, auch nachdem Sie Ihren Browser geschlossen haben.





MUO-Video des Tages Scrollen Sie, um mit dem Inhalt fortzufahren

Sie können LocalStorage in Ihre Vue-Apps integrieren, um Listen und andere kleine Daten zu speichern. Dadurch können Sie Benutzerdaten über verschiedene App-Sitzungen hinweg pflegen.





Nach diesem Tutorial verfügen Sie über eine funktionsfähige Vue-To-Do-App, mit der Sie Aufgaben hinzufügen und entfernen und die Daten mithilfe von LocalStorage speichern können.





Einrichten der Vue To-Do-Anwendung

Bevor Sie mit dem Codieren beginnen, stellen Sie sicher, dass Sie dies getan haben Node und NPM auf Ihrem Gerät installiert .

Um ein neues Projekt zu erstellen, führen Sie diesen npm-Befehl aus:



npm create vue  

Für den Befehl müssen Sie eine Voreinstellung für Ihre neue Vue-Anwendung auswählen, bevor Sie die erforderlichen Abhängigkeiten erstellen und installieren.

Für diese Aufgaben-App benötigen Sie keine zusätzlichen Funktionen. Wählen Sie daher für alle verfügbaren Voreinstellungen „Nein“.





  Eine Befehlszeile, die den Prozess der Erstellung einer neuen Vue-App zeigt

Sobald das Projekt eingerichtet ist, können Sie mit der Erstellung der To-Do-Anwendung mit LocalStorage beginnen.

Erstellen der To-Do-Anwendung

Für dieses Tutorial erstellen Sie zwei Vue-Komponenten: App.vue für die Gesamtstruktur und Todo.vue zur Anzeige einer Aufgabenliste.





Erstellen der To-Do-Komponente

Erstellen Sie für die Todo-Komponente eine neue Datei. src/components/Todo.vue . Diese Datei verwaltet die Struktur der Aufgabenliste.

Fügen Sie den folgenden Code in die ein Todo.vue Datei:

<!-- Todo.vue --> 
<script setup>
const props = defineProps(['todos']);
const emit = defineEmits(['remove-todo']);

const removeTodo = (index) => {
  emit('remove-todo', index);
};
</script>

<template>
  <div class="todo-list">
    <ul>
      <li v-for="(todo, index) in props.todos" :key="index" class="todo-item">
        {{ todo.text }}
        <button @click="removeTodo(index)" class="remove-button">
          Remove
        </button>
      </li>
    </ul>
  </div>
</template>

Der obige Codeausschnitt beschreibt detailliert die Struktur des Alle Komponente. Es richtet die Komponente so ein, dass sie mithilfe von Requisiten bzw. benutzerdefinierten Ereignissen Daten empfängt und Ereignisse ausgibt.

Zur weiteren Erläuterung verwendet der Code Vue-Requisiten für die Kommunikation zwischen Komponenten um das zu erhalten alle Array aus seiner übergeordneten Komponente, app.vue . Es verwendet dann die v-for-Direktive zum Rendern von Listen um das empfangene Todos-Array zu durchlaufen.

Der Code gibt auch ein benutzerdefiniertes Ereignis aus, alles entfernen , mit einer Nutzlast Index . Dadurch können Sie eine bestimmte Aufgabe mit einem bestimmten Index im Todos-Array entfernen.

Beim Klicken auf Entfernen Wenn Sie auf die Schaltfläche klicken, löst das Snippet die Ausgabe des benutzerdefinierten Ereignisses an die übergeordnete Komponente aus. Dies zeigt an, dass Sie auf die Schaltfläche geklickt haben, wodurch die Ausführung der entsprechenden Funktion veranlasst wird, die in der übergeordneten Komponente App.vue definiert ist.

Erstellen der Ansichtskomponente der Anwendung

Geh 'rüber zu app.vue um mit der Erstellung der Todo-Anwendung fortzufahren. Der App Die Komponente übernimmt das Hinzufügen neuer Aufgaben und das Rendern Alle Komponente.

Fügen Sie Folgendes ein Skript block in Ihre App.vue-Datei:

<!-- App.vue --> 
<script setup>
import Todo from "./components/Todo.Vue";
import { ref } from "vue";

const newTodo = ref("");
const todos = ref([]);

const addTodo = () => {
  if (newTodo.value.trim() === "") return;
  todos.value.push({ text: newTodo.value });
  newTodo.value = "";
  saveToLocalStorage();
};

const removeTodo = (key) => {
  todos.value.splice(key, 1);
  saveToLocalStorage();
};

const saveToLocalStorage = () => {
  localStorage.setItem("todos", JSON.stringify(todos.value));
};

const savedTodos = localStorage.getItem("todos");

if (savedTodos) {
  todos.value.push(...JSON.parse(savedTodos));
}
</script>

Der obige Codeausschnitt beschreibt die Logik des app.vue Komponente. Das Snippet importiert die Alle Komponente und initialisiert reaktive Variablen mit der Vue Composition API.

Der Code beginnt mit dem Import der Todo-Komponente und der ref Funktion aus dem angegebenen Pfad und Sicht , jeweils.

Das Snippet initialisiert dann einen reaktiven String, newTodo , um die von Ihnen eingegebene Aufgabe zu speichern. Es initialisiert auch eine leere Reaktion alle Array, das die Liste der Aufgaben enthält.

Der addTodo Die Funktion fügt dem Todos-Array neue Aufgaben hinzu. Wenn newTodo nicht leer ist, wird es bei Bestätigung in das Array verschoben und setzt den newTodo-Wert zurück, damit Sie weitere Aufgaben hinzufügen können.

Die Funktion addTodo ruft auch auf saveToLocalStorage, Dadurch wird das Todos-Array im LocalStorage des Browsers gespeichert. Das Snippet verwendet die setItem Methode, um dies zu erreichen, und konvertiert das Todos-Array vor der Speicherung in einen JSON-String.

Es definiert auch a RemoveTodo Funktion, die a dauert Schlüssel als Parameter. Mit diesem Schlüssel wird das entsprechende entfernt alle aus dem Todos-Array. Nach dem Entfernen ruft die Funktion „removeTodo“ saveToLocalStorage auf, um die LocalStorage-Daten zu aktualisieren.

Schließlich verwendet der Code die getItem Methode, die LocalStorage zur Verfügung steht, um zuvor gespeicherte Aufgaben mit der Todos-Taste abzurufen. Wenn Sie Aufgaben im LocalStorage des Browsers gespeichert haben, verschiebt der Code sie in das Todos-Array.

Nachdem Sie sich nun mit der Logik der App.vue-Komponente befasst haben, fügen Sie den folgenden Code ein Vorlage Block Ihrer Vue-App, um die Benutzeroberfläche zu erstellen:

<!-- 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" />

      <button @click="addTodo" class="add-button">Add</button>
    </div>
    <Todo :todos="todos" @remove-todo="removeTodo" />
  </div>
</template>

Die Vorlage verwendet V-Modell , eine Methode zum Binden von Daten in Vue um die eingegebene Aufgabe an die zu binden newTodo reaktive Zeichenfolge. Die Vorlage verwendet auch die v-on Direktive für den Umgang mit Ereignissen in Vue durch seine Kurzschrift ( @ ).

Es verwendet v-on, um beide zu hören klicken Und eingeben Schlüsselereignisse zur Bestätigung des newTodo.

Schließlich verwendet die Vorlage die Alle Komponente, die Sie zuerst erstellt haben, um die Liste der Aufgaben darzustellen. Der :alle Syntax übergibt die alle Array als Requisite für die Todo-Komponente.

Der @remove-alles Die Syntax richtet einen Ereignis-Listener ein, um das von der Todo-Komponente ausgegebene benutzerdefinierte Ereignis zu erfassen und aufzurufen RemoveTodo Funktion als Antwort.

Nachdem Sie die Bewerbung fertiggestellt haben, können Sie sie nach Ihrem Geschmack gestalten. Sie können eine Vorschau Ihrer Anwendung anzeigen, indem Sie diesen Befehl ausführen:

npm run dev 

Sie sollten einen Bildschirm wie diesen sehen:

  Eine einfache Todo-Anwendung mit einem Eingabefeld zum Hinzufügen einer neuen Aufgabe und einer Liste von fünf vorhandenen Aufgaben

Sie können Aufgaben innerhalb der Todo-Anwendung hinzufügen oder entfernen. Darüber hinaus können Sie dank der Integration von LocalStorage die Anwendung aktualisieren oder ganz beenden; Ihre kuratierte To-Do-Liste bleibt erhalten.

Bedeutung von LocalStorage

Die Integration von LocalStorage in Webanwendungen ist sowohl für Anfänger als auch für erfahrene Entwickler von wesentlicher Bedeutung. LocalStorage führt Einsteiger in die Datenpersistenz ein, indem es ihnen ermöglicht, benutzergenerierte Inhalte zu speichern und abzurufen.

So entfernen Sie Viren manuell vom Android-Telefon

LocalStorage ist wichtig, da Sie sicherstellen können, dass Ihre Benutzerdaten über verschiedene Sitzungen hinweg intakt bleiben. LocalStorage macht eine ständige Serverkommunikation überflüssig, was zu schnelleren Ladezeiten und einer verbesserten Reaktionsfähigkeit in Webanwendungen führt.