html - Angular 6: lagring av data i lokal lagring


Jeg har en datatabell som viser data fra en ekstern API, jeg vil at antall elementer/element på tabbelsiden skal lagres i lokal lagring

Her er hva jeg har prøvd så langt:

 ngOnInit() {
  this.moviesService.getPopularTVShows().subscribe(res => {
    this.dataSource = new MatTableDataSource(res.results);
    this.dataSource.paginator = this.paginator;
    this.dataSource.sort = this.sort;
    localStorage.setItem(this.dataSource, this.dataSource.length);
    console.log(localStorage.length);
  });
}

Når jeg kjører appen min, viser konsollen undefined

Hva er galt med koden min? All hjelp eller forslag er velkomne, nybegynner som prøver nye ting.

Svar #1

Du bør definere et nøkkelnavn når du lagrer data i lokal lagring, som skal være en streng, og verdien skal være en streng

 localStorage.setItem('dataSource', this.dataSource.length);

og for å skrive ut, bør du bruke getItem

console.log(localStorage.getItem('dataSource'));

Svar #2

du kan bruke localStorage for å lagre JSON-dataen:

eksemplet er gitt nedenfor:-

let JSONDatas = [
    {"id": "Open"},
    {"id": "OpenNew", "label": "Open New"},
    {"id": "ZoomIn", "label": "Zoom In"},
    {"id": "ZoomOut", "label": "Zoom Out"},
    {"id": "Find", "label": "Find..."},
    {"id": "FindAgain", "label": "Find Again"},
    {"id": "Copy"},
    {"id": "CopyAgain", "label": "Copy Again"},
    {"id": "CopySVG", "label": "Copy SVG"},
    {"id": "ViewSVG", "label": "View SVG"}
]

localStorage.setItem("datas", JSON.stringify(JSONDatas));

let data = JSON.parse(localStorage.getItem("datas"));

console.log(data);

Relaterte artikler