通过服务修改组件的变量值

时间:2018-04-11 12:40:18

标签: javascript angular typescript

我的应用程序中有一个名为CustomerListComponent的组件,其中我有一个名为isEligibleForBenefits的布尔变量,在初始化时默认为false

现在,我需要在我的某个服务中调用REST调用,并且在该调用的成功事件中,我需要将此isEligibleForBenefits变量设置为true

这里的问题是,从允许的服务中操纵组件的价值?如果是,那怎么能实现呢?

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

好的,我会简要回答你:

在您的服务中进行api通话:

import {Subject} from 'rxjs/Subject';


export class yourService {
     private messageSubject:Subject<boolean> = new Subject();

     public getMessageSubject():Subject<boolean>{
            return this.messageSubject:Subject;
     }


    private callApi(){
         http.whatEver.map(() => { this.messageSubject.next(true);})
    }
}

在您的组件中:

export class yourComponent{
   constructor(private service:yourService){
      this.service.getMessageSubject.subscribe((value:boolean) => {
            this.isEligibleForBenefits = true; // or = value;
      });
   }
}