Javascript 从服务获取数据后,清除Ngondestory上的静态数据

Javascript 从服务获取数据后,清除Ngondestory上的静态数据,javascript,angular,typescript,rxjs,angular-lifecycle-hooks,Javascript,Angular,Typescript,Rxjs,Angular Lifecycle Hooks,我想清除Ngondestory的数据。我正在从一个服务获取这个静态数据。 当前的情况是,我正在使用相同的组件添加编辑,我只想在用户完成编辑后清除临时静态数据 export class LeadsDefaultDataService { tempData; private leadsDefaults = { leads: { data: [ { type: 'page_title', data: { title: 'Enter data',

我想清除Ngondestory的数据。我正在从一个服务获取这个静态数据。 当前的情况是,我正在使用相同的组件添加编辑,我只想在用户完成编辑后清除临时静态数据

export class LeadsDefaultDataService {

tempData;

private leadsDefaults = {
leads: {
  data: [
    {
      type: 'page_title',
      data: {
        title: 'Enter data',
      }
    },
    {
      type: 'page_layout',
      data: {
        backgroundColor: '#FFFFFF'
      }
    }
}
};


/**
 * Constructor
 */
 constructor(
 ) {}

 /**
  *  Function used to return the default data of qrCategory
  * @param category: Name of the category
  */
  getLeadsDefaultData(category: string) {
   return this.leadsDefaults[category].data;
  }
}
在组件中:

constructor(
  private defaultData: LeadsDefaultDataService,
 ) {
}



   // For getting the data
   this.leadsData =  this.defaultData.getLeadsDefaultData('leads');


  // Reset the leadsData.
  ngOnDestroy() {
   this.leadsData = null; // not working....
  }

您只是在取消引用。作为一种更好的方法,您可以通过在服务中公开方法来实现,如下所示

export class LeadsDefaultDataService {
 .......
  setLeadData(category: string, value: any){
    this.leadsDefaults[category].data = value;
  }
}
并从组件调用此方法

 ngOnDestroy() {
    this.defaultData.setLeadData('leads', null);
  }

您只是在取消引用。作为一种更好的方法,您可以通过在服务中公开方法来实现,如下所示

export class LeadsDefaultDataService {
 .......
  setLeadData(category: string, value: any){
    this.leadsDefaults[category].data = value;
  }
}
并从组件调用此方法

 ngOnDestroy() {
    this.defaultData.setLeadData('leads', null);
  }