如何从组件中的缓存服务获取价值

时间:2019-11-14 10:34:29

标签: angular

我正在尝试存储服务调用的响应,以便可以在我的应用程序的其他部分中使用它。到目前为止,这是我尝试过的方法,但始终无法获得值。

管理服务

  getOfferTemplates() {
    const corporateId = this._storeService.getStoredData().profile.CorporateId;
    const token = this._storeService.getStoredData().id_token;
    const headers = new HttpHeaders().set('Authorization', `Bearer ${token}`);
    const options = { headers: headers };
    const url = `${this._templatesUrl}/offers/${corporateId}`;
    return this._http.get(url, options);
  }

UsersCachService

  public allTemplates: any = [];
  getOfferTemplates(){
    this._loader.start();
    this._subscriptions.push(this._adminService.getOfferTemplates()
    .subscribe((resp) => {
      this._loader.stop();
      this.allTemplates = resp;
   }, (error) => {
      this._loader.stop();
      this._errorService.openErrorPopup('Failed to get the offer template.');
    }
    ))
  }

组件

  validateName() {
   console.log(this.usersService.getOfferTemplates());
  }

如何获取组件中的allTemplates值?

1 个答案:

答案 0 :(得分:1)

您可以:

this.usersService.allTemplates 

或创建一个类似的吸气剂:

 get allTemplate(){ 
   return this.allTemplates;
 }