Vue kapselt ein TodoList-Beispiel und implementiert die Anwendung des lokalen Browser-Cache

Vue kapselt ein TodoList-Beispiel und implementiert die Anwendung des lokalen Browser-Cache

In diesem Artikel wird hauptsächlich der Fall vorgestellt, in dem Vue eine TodoList kapselt und den lokalen Browser-Cache in der Anwendung implementiert. Er wird wie folgt mit Ihnen geteilt:

Bildbeschreibung hier einfügen

Ein einfaches Todolist-Beispiel wird mithilfe von Vue gekapselt. Die lokale Cache-Technologie des Browsers wird ebenfalls hinzugefügt.

Lokaler Browser-Cache:

  • Prämisse : Im Allgemeinen gehen die von uns definierten Variablen oder die von Vuex gespeicherten Daten beim Aktualisieren des Browsers verloren, sodass der historische Aufzeichnungseffekt nicht erreicht werden kann. Die Verwendung des Browser-Cache kann uns jedoch dabei helfen, dieses Problem zu lösen ...
  • Der Browser-Cache wird in zwei Typen unterteilt: sessionStorage und localStorage. Die Prototypketten der beiden sind wie folgt:

Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen

Es ist ersichtlich, dass ihre Prototypketten im Wesentlichen gleich sind. Der einzige Unterschied besteht darin, dass

  • localStorage fungiert als lokaler Cache, der dauerhaft ist. Sofern Sie ihn nicht manuell löschen oder leeren, bleibt er immer im Browser vorhanden.
  • sessionStorage wird für das Session-Caching verwendet. Sein Lebenszyklus besteht nur in der aktuellen Browser-Sitzung. Beim Schließen des Browsers gehen die Informationen verloren. Wenn Sie die Seite jedoch nur aktualisieren, bleiben die Daten trotzdem gespeichert.

In diesem Beispiel wird sessionStorage verwendet und ein kleines Paket dafür erstellt.

const Speicher = {
	set(Schlüssel, Wert){
		window.sessionStorage.setItem(Schlüssel, JSON.stringify(Wert));
	},
	get(Schlüssel){
		gibt JSON.parse zurück (window.sessionStorage.getItem(Schlüssel));
	},
	entfernen(Schlüssel){
		window.sessionStorage.removeItem(Schlüssel);
	}
}

Standardspeicher exportieren;

Beispielcode:

<Vorlage>
	<div Klasse="todo">
		<Kopfzeile>
			<input type="text" placeholder="Eingeben..." v-model="keyword" @keydown.enter="handleList">
			Aufgabenliste
		</header>
		<!-- In Bearbeitung -->
		<h4>In Bearbeitung...{{dolistNumber}}</h4>
		<template v-for="(Element, Index) in dolist" :key="index">
			<div Klasse="dolist" v-if="!item.checked">
				<label :für="index +'l'">
					<input type="checkbox" v-model="item.checked" :id="index +'l'" @change="handleChecked">
					{{item.title}}
				</Bezeichnung>
				<span @click="cancalDo(index)">X</span>
			</div>
		</Vorlage>

		<!-- Abgeschlossen -->
		<h4>Abgeschlossen...{{dolist.length - dolistNumber}}</h4>
		<template v-for="(Element, Index) in dolist" :key="index">
			<div Klasse="dolist" v-if="item.checked">
				<label :für="index +'ll'">
					<input type="checkbox" v-model="item.checked" :id="index +'ll'" @change="handleChecked">
					{{item.title}}
				</Bezeichnung>
				<span @click="cancalDo(index)">X</span>
			</div>
		</Vorlage>
	</div>
</Vorlage>

<Skript>
	Speicher aus „../storage.js“ importieren;
	Standard exportieren {
		Name: "Aufgabenliste",
		Daten() {
			zurückkehren {
				Stichwort: "", // Eingabeoptionen dolist: [],
			}
		},
		berechnet:{
			dolistNumber(){
				gib dies zurück.dolist.filter(item => item.checked === false).length;
			}
		},
		Methoden: {
			handleChecked(){
				// Aktualisieren nach Statusänderung storage.set('dolist', this.dolist);
			},
			handleList() {
				wenn (dieses.Schlüsselwort !== "") {
					dies.dolist.push({
						Titel: dieses Schlüsselwort,
						geprüft: falsch,
					});
					dieses.Schlüsselwort = "";
					Speicher.set('dolist', diese.dolist);
				}
				
			},
			abbrechen(index) {
				// dies löschen this.dolist.splice(index, 1);
				Speicher.set('dolist', diese.dolist);
			}
		},
		montiert(){
			let dolist = storage.get('dolist');
			wenn(dolist){
				dies.dolist = dolist;
			}
		},

	}	
</Skript>

<Stil>
	.todo {
		Rand: 400px automatisch;
		Mindesthöhe: 300px;
		Breite: 800px;
		Hintergrundfarbe: #eee;
	}

	.todo-Header {
		Position: relativ;
		Textausrichtung: zentriert;
		Höhe: 60px;
		Zeilenhöhe: 60px;
		Schriftgröße: 20px;
		Rahmen unten: 2px durchgezogen #fff;
	}

	.todo Header-Eingabe {
		Position: absolut;
		links: 40px;
		oben: 50 %;
		transformieren: verschiebeY(-50%);

		Gliederung: keine;
		Zeilenhöhe: 30px;
		Rahmenradius: 15px;
		Polsterung links: 30px;
		Rand: 1px durchgezogen #999;
		Schriftgröße: 16px;
		Breite: 100px;
		Übergang: alle 0,6 s linear;
	}

	.todo header input:focus {
		Breite: 200px;
	}

	.dolist {
		Polsterung: 20px;
		Schriftgröße: 16px;

	}

	.dolist Bezeichnung {
		Cursor: Zeiger;
	}

	.dolist Eingabe {
		Rand rechts: 10px;

	}

	.dolist span:letztes-Kind {
		schweben: rechts;
		Rand: 1px durchgehend grau;
		Hintergrundfarbe: #999;
		Farbe: #fff;
		Randradius: 50 %;
		Polsterung: 5px;
	}

	h4 {
		Polsterung unten: 20px;
		Textausrichtung: zentriert;
	}
</Stil>

Damit ist dieser Artikel über den Fall der Vue-Kapselung einer TodoList und die Anwendungsimplementierung des lokalen Browser-Cache abgeschlossen. Weitere relevante Vue-TodoList-Inhalte finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung des einfachen To-Do-Liste-Beispiels von Vuex
  • Vue lernt die Kommunikation zwischen übergeordneten und untergeordneten Komponenten von TodoList
  • Vuejs implementiert eine einfache TodoList-Funktion und einen Komponentenbeispielcode
  • vue.js Beispiel für ein TodoList-Projekt
  • Detaillierte Erklärung des TodoList-Falls von Vue

<<:  Detaillierte Erläuterung zur Verwendung des Top-Befehls zur Analyse der Linux-Systemleistung

>>:  Linux-System zum Anzeigen von CPU, Maschinenmodell, Speicher und anderen Informationen

Artikel empfehlen

Tipps zur Verwendung kleiner HTML-Tags

Phrasenelemente wie <em></em> können d...

So erstellen Webdesigner Bilder für Retina-Displays

Besonderer Hinweis: Dieser Artikel wurde basieren...

Docker-Datenverwaltung und Netzwerkkommunikationsnutzung

Sie können Docker installieren und einfache Vorgä...

Detaillierte Erklärung der API in Vue.js, die leicht zu übersehen ist

Inhaltsverzeichnis nächstesTick Syntaxvereinfachu...

Detaillierte Erläuterung der SSHD-Dienste und Dienstverwaltungsbefehle unter Linux

sshd SSH ist die Abkürzung für Secure Shell, ein ...

WeChat Mini-Programme werden global über die Uni-App geteilt

Bei der tatsächlichen Verwendung ist es häufig er...

Tipps zum MySQL-Abfragecache

Inhaltsverzeichnis Vorwort Einführung in QueryCac...

Über Tomcat kombiniert mit Atomikos zur Implementierung von JTA

Vor Kurzem hat das Projekt die Umgebung gewechsel...

Detaillierte Erklärung der Zeit- und Datumsverarbeitung von moment.js

Konvertierung des Zeitformats von Montag auf Sonn...

Praktisches MySQL + PostgreSQL Batch-Insert-Update insertOrUpdate

Inhaltsverzeichnis 1. Baidu-Enzyklopädie 1. MySQL...