Sitzungsspeicherung in Angular

Rana Hasnain Khan 15 Februar 2024
Sitzungsspeicherung in Angular

Wir lernen etwas über sessionStorage und wie man bestimmte Daten in sessionStorage in Angular speichert, erhält, löscht oder alle Daten löscht.

Sitzungsspeicherung in Angular

sessionStorage hält für die Dauer der Seitensitzung einen separaten Speicherbereich für jeden angegebenen Ursprung bereit. sessionStorage wird geleert, wenn die Registerkarte oder das Fenster geschlossen wird.

Daten speichern mit sessionStorage

Um Daten in sessionStorage zu speichern, erstellen wir eine Funktion saveData() in der Datei app.component.ts.

# angular
saveData(){

}

Innerhalb der Funktion saveData verwenden wir setItem, um den Namen im sessionStorage zu speichern.

# angular
saveData() {
    sessionStorage.setItem('name', 'Rana Hasnain');
}

Unsere Funktion zum Speichern von Daten in sessionStorage ist abgeschlossen.

Wir müssen unsere Datei app.component.html bearbeiten und eine Schaltfläche mit dem Ereignis click zur Funktion saveData() hinzufügen. Unser Code in app.component.html sieht also wie folgt aus.

# angular
<hello name="{{ name }}"></hello>
<button (click)="saveData()">Save Data in Session Storage</button>

Ausgabe:

Daten im Sitzungsspeicher in Angular speichern

Wenn wir auf die Schaltfläche klicken, werden Daten im sessionStorage mit dem key des name gespeichert.

Ausgabe:

Daten im Ergebnis der Sitzungsspeicherung speichern

Daten aus dem sessionStorage abrufen

Wir werden besprechen, wie Sie die gespeicherten Daten im sessionStorage erhalten und anzeigen können.

Wir erstellen eine getData()-Funktion in app.component.ts.

# angular
getData(){
    
  }

Innerhalb der Funktion getData() verwenden wir getItem, um unsere gewünschten Daten basierend auf key aus dem sessionStorage zu erhalten.

# angular
getData(){
    return sessionStorage.getItem('name');
  }

Wir sind jetzt mit unserer Funktion fertig und müssen die Daten anzeigen, die wir von der Funktion getData() erhalten haben.

Wir bearbeiten app.component.html und ersetzen das name-Attribut des hello-Tags. Unser Code in app.component.html sieht also wie folgt aus.

# angular
<hello name="{{ getData() }}"></hello>
<button (click)="saveData()">Save Data in Session Storage</button>

Ausgabe:

Daten aus dem Sitzungsspeicher in Angular abrufen

Löschen bestimmter Daten aus dem sessionStorage

Wir werden das Löschen spezifischer Daten basierend auf dem key aus dem sessionStorage bei einem Klick auf die Schaltfläche besprechen.

Zuerst erstellen wir die Funktion removeData() in der app.component.ts.

# angular
removeData(){
    
  }

Wir werden das removeItem verwenden, um spezifische Daten aus dem sessionStorage basierend auf key zu entfernen. Wir werden auch einige zusätzliche Daten im sessionStorage hinzufügen, die wir für dieses Beispiel entfernen können.

Unser Code in app.component.ts sieht wie folgt aus.

# angular
import { Component, VERSION } from '@angular/core';

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css'],
})
export class AppComponent {
  title = 'Session Storage in Angular 12 By Husnain';
  name = 'Angular ' + VERSION.major;

  saveData() {
    sessionStorage.setItem('name', 'Rana Hasnain');
    sessionStorage.setItem('location', 'Pakistan');
  }
  getData() {
    return sessionStorage.getItem('name');
  }
  removeData() {
    sessionStorage.removeItem('location');
  }
}

Im obigen Code haben wir zusätzliche Daten mit der Position key im sessionStorage hinzugefügt, die beim Klicken auf die Schaltfläche entfernt werden.

Wir müssen eine Schaltfläche in app.component.html erstellen, die unsere Funktion removeData() aufruft. app.component.html sieht also so aus.

# angular
<hello name="{{ getData() }}"></hello>
<button (click)="saveData()" class="btn">Save Data in Session Storage</button>
<button (click)="removeData()" class="btn">Remove Location</button>

Wir werden auch Schaltflächen so gestalten, dass sie besser aussehen, und den folgenden Code in die app.component.css einfügen.

# angular
p {
  font-family: Lato;
}
.btn{
  margin-right: 15px;
  padding: 10px 15px;
  background-color: blueviolet;
  color: white;
  border: none;
  border-radius: 5px;
}

Ausgabe:

Entfernen Sie bestimmte Daten aus dem Sitzungsspeicher in Angular

Wir klicken auf die Schaltfläche Save Data, um den Speicherort sessionStorage zu speichern. Danach klicken wir auf die Schaltfläche Remove Location, um Standortdaten aus sessionStorage zu entfernen.

Entfernen Sie bestimmte Daten aus dem Ergebnis der Sitzungsspeicherung

Alle Daten aus dem sessionStorage löschen

Wir besprechen das Löschen aller Daten aus dem sessionStorage in Angular.

Wir erstellen die Funktion deleteData() in der app.component.ts.

# angular
deleteData(){

  }

Mit clear löschen wir alle Daten aus sessionStorage. Unser Code sieht also wie folgt aus.

# angular
deleteData(){
    sessionStorage.clear();
  }

Wir müssen eine Schaltfläche in app.component.html erstellen, um die Funktion deleteData() aufzurufen. Unser Code sieht also wie folgt aus.

# angular
<hello name="{{ getData() }}"></hello>
<button (click)="saveData()" class="btn">Save Data in Session Storage</button>
<button (click)="removeData()" class="btn">Remove Location</button>
<button (click)="deleteData()" class="btn">Clear All</button>

Ausgabe:

Löschen Sie alle Daten aus dem Sitzungsspeicher in Angular

Endergebnis:

Endergebnis des Speicherns und Löschens von Daten aus dem Sitzungsspeicher

Unsere Dateien werden am Ende wie unten aussehen.

app.component.ts:

# angular
import { Component, VERSION } from '@angular/core';

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css'],
})
export class AppComponent {
  title = 'Session Storage in Angular 12 By Husnain';
  name = 'Angular ' + VERSION.major;

  saveData() {
    sessionStorage.setItem('name', 'Rana Hasnain');
    sessionStorage.setItem('location', 'Pakistan');
  }
  getData() {
    return sessionStorage.getItem('name');
  }
  removeData() {
    sessionStorage.removeItem('location');
  }
  deleteData() {
    sessionStorage.clear();
  }
}

app.component.html:

# angular
<hello name="{{ getData() }}"></hello>
<button (click)="saveData()" class="btn">Save Data in Session Storage</button>
<button (click)="removeData()" class="btn">Remove Location</button>
<button (click)="deleteData()" class="btn">Clear All</button>

app.component.css:

# angular
p {
  font-family: Lato;
}
.btn {
  margin-right: 15px;
  padding: 10px 15px;
  background-color: blueviolet;
  color: white;
  border: none;
  border-radius: 5px;
}
Rana Hasnain Khan avatar Rana Hasnain Khan avatar

Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.

LinkedIn