Проблема с управлением данными локального хранилища в angular во время операции обновления

Мой код отлично работает с добавлением и удалением, даже когда страница перезагружается, это отражается в моем локальном хранилище.

Но когда я нажимаю кнопку «Изменить» и нажимаю кнопку «Обновить», данные обновляются только в моем пользовательском интерфейсе. Если я перезагружаю страницу, данные не отображаются в моем локальном хранилище.

Как исправить эту проблему !!

enter image description here

это мой HomeComponent.ts

export class HomeComponent implements OnInit {

  constructor(private router:Router) { }

  name:string;
  DOB:number;
  mob:number;
  gender:string;
  title = 'Employee Information';

  employees = [];

  model:any={};
  model2:any={};
  msg:any="";
  addEmployee(){
    let employees = JSON.parse(localStorage.getItem('emp'));
    employees.push(this.model);
    localStorage.setItem('emp', JSON.stringify(employees));     
    console.log(this.model);
    this.model = {};
    this.msg = "Record is successfully added..... "; 
  }
  ngOnInit(){
    console.log("localStorage.emp ", localStorage.emp);
    if(localStorage.emp === undefined) {
      localStorage.setItem('emp', JSON.stringify(this.employees));
    } else {}
  }
}

это мой ContentsComponent.ts

export class ContentsComponent implements OnInit {
  employees = [];
     //{name:"Sikandar",DOB:"22-02-1996",mob:"4558965214",gender:"male"},
    // {name:"Alex",DOB:"23-03-1995",mob:"4558965214",gender:"female"}      
  //];

  model:any={};
  model2:any={};
  msg:any="";

  constructor(private router:Router,
    private route:ActivatedRoute) { }

  ngOnInit() {
    this.employees = JSON.parse(localStorage.getItem('emp'));
    console.log('retrievedObject: ', this.employees);
  }

  deleteEmployee(i){
    this.employees.splice(i,1);
    localStorage.emp = JSON.stringify(this.employees);        
    this.msg = "Record is successfully deleted..... ";          
  }

  myValue;
  editEmployee(k){
    this.model2.name = this.employees[k].name;
    this.model2.DOB=this.employees[k].DOB;
    this.model2.mob = this.employees[k].mob;
    this.model2.gender=this.employees[k].gender;      
    this.myValue = k;

  }
  updateEmployee(){
    let k= this.myValue;
    this.model.gender = "female";       
    for(let i=0; i<this.employees.length;i++){
      if(i==k){
        this.employees[i]= this.model2;
        this.model2 = {};       
        this.msg = "Record is successfully updated..... ";
      }
    }
  }
  clickMe(){
    this.msg = "";
  }    
}

обновить локальное хранилище, когда вы нажмете кнопку обновления

Chellappan வ 26.10.2018 07:09
1
1
212
1

Ответы 1

updateEmployee(){
let k= this.myValue;
this.model.gender = "female";       
for(let i=0; i<this.employees.length;i++){
  if(i==k){
    this.employees[i]= this.model2;
    this.model2 = {};       
    this.msg = "Record is successfully updated..... ";
  }
}
localStorage.setItem('emp', JSON.stringify(this.employees));
}

это должно работать.

Другие вопросы по теме