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);
