web-dev-qa-db-fra.com

Angular 6: enregistrement des données dans la mémoire de stockage locale

J'ai une table de données qui affiche les données de l'API externe, je veux que le nombre d'éléments/élément sur la page de la table soit enregistré dans la mémoire de stockage locale

Voici ce que j'ai essayé jusqu'à présent:

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

Lorsque j'exécute mon application, la console affiche undefined

Quel est le problème avec mon code? toute aide ou suggestion est la bienvenue, les débutants essayant de nouvelles choses.

10
user9964622

Vous devez définir un nom de clé lors du stockage des données sur un stockage local, lequel doit être une chaîne et la valeur, une chaîne.

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

et pour imprimer, vous devez utiliser getItem

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

Vous devez d’abord comprendre comment fonctionne localStorage . vous vous trompez de manière à définir/obtenir des valeurs dans le stockage local. Veuillez lire ceci pour plus d'informations: Comment utiliser le stockage local avec JavaScript

4
Ramesh Rajendran