-1
votes

Comment définir et obtenir des valeurs de ce formulaire dans le stockage local

Je configure un stockage local pour les paramètres de paramètres et que vous souhaitez définir et obtenir chaque valeur de ce formulaire dans le stockage local de mon application. Qu'est-ce que je dois ajouter à faire définir et obtenir correctement pour ce formulaire? Tout le monde peut voir que les résultats obtenus ont une erreur et MABE L'ensemble n'est pas terminé correctement. Comment faire tout ce travail Dois-je changer de jeu et obtenir des méthodes? Y at-il d'autre chose que je manque? J'ai essayé tout ce que je sais, mais je suis débutant dans le stockage local et ionique.

mon fichier TS: p>

p>

<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.0/angular.min.js"></script>

    import { Component } from '@angular/core';
import { NavController, NavParams } from 'ionic-angular';
import { FormBuilder, FormGroup, Validators, NgForm, FormControl, ValidatorFn, AbstractControl } from '@angular/forms';
import { ToastController } from 'ionic-angular';
import { EspaceAgentPage } from '../espace-agent/espace-agent';
import { EspaceCitoyenPage } from '../espace-citoyen/espace-citoyen';
import { ChangePasswordPage } from '../change-password/change-password';
import { Storage } from '@ionic/storage';
import { PasswordService } from '../services/password.service';
import { NgModule } from '@angular/core';

@Component({
  selector: 'page-settings',
  templateUrl: 'settings.html',
})
export class SettingsPage {
  private Form : FormGroup;
  public mail: any;
  public tel: any;
  public data: any;

  constructor(public navCtrl: NavController, public navParams: NavParams, public toastCtrl: ToastController, private formBuilder: FormBuilder, public storage: Storage)
  {
    this.Form = formBuilder.group({
      mailadress: ['', Validators.compose([Validators.pattern('^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$'),Validators.email])],
      telephone: ['', Validators.compose([ Validators.pattern('[0-9]*'), Validators.minLength(8), Validators.maxLength(8)])],
    });

  }

  ionViewDidLoad() {
    console.log('ionViewDidLoad SettingsPage');
      this.getValue("stoker");
  }

  // set a key/value
  setValue(key: string, value: any)
  {
    this.storage.set(key, value).then((response) => {
      console.log('set' + key + ' ', response);

    }).catch((error) => {
      console.log('set error for ' + key + ' ', error);
    });
  }

  // get a key/value pair
    getValue(key: string) {
      this.storage.get(key).then((val) => {
        console.log('get ' + key + ' ', val);
        this.data[key] = "";
        this.data[key] = val;
      }).catch((error) => {
        console.log('get error for ' + key + '', error);
      });
    }


  onChangepassword()
  {
    this.navCtrl.push(ChangePasswordPage);
  }

  onSubmit(form: NgForm)
  {

    this.mail=this.Form.get('mailadress').value;
    this.tel=this.Form.get('telephone').value;
    console.log(form.value);
    this.setValue("stoker",this.mail);
    this.setValue("stoker",this.tel);

    this.navCtrl.push(EspaceCitoyenPage);
    const toast = this.toastCtrl.create({
      message: 'Modifications Enregistrées !',
      duration: 4000
    });
    toast.present();
  }
}


1 commentaires

Veuillez sélectionner une réponse utile pour résoudre le problème et Accepter la réponse en cliquant sur la coche grise à côté d'elle .


3 Réponses :


0
votes

Il semble que vous obtenez l'erreur dans cette fonction de la fonction xxx

lorsque vous essayez d'obtenir la clé STOKER renvoie une référence NULL, puis l'erreur. Peut-être qu'il n'y a pas d'élément stocké pour cette touche ou le Palform n'était pas prêt lorsque vous appelez le stockage.

Lorsque vous travaillez sur le stockage, vous devez attendre de la plate-forme pour être prêt à être prêt: xxx

et pense mieux utiliser le stockage natif que le stockage ionique.

J'espère que cela vous aidera.


0 commentaires

0
votes

plsease référez-vous Ceci

this.nativeStorage.setItem('myitem', {property: 'value', anotherProperty: 'anotherValue'})
  .then(
    () => console.log('Stored item!'),
    error => console.error('Error storing item', error)
  );

this.nativeStorage.getItem('myitem')
  .then(
    data => console.log(data),
    error => console.error(error)
  );


0 commentaires

-1
votes
Windows.localstorage.setitem('key', value)

1 commentaires

Vous pourriez signifier localStorage