小编cod*_*r87的帖子

Angular 4 - 服务中的rxjs BehaviorSubject用法

我的服务代码如下所示 -

DataService的

@Injectable()
export class DataService {
...
private serviceRequestDtoSource = new BehaviorSubject<ServiceRequestDto>(null);
serviceRequestDto$ = this.serviceRequestDtoSource.asObservable();
...
getAccountInfo(serviceRequestDto : ServiceRequestDto){
    let body = JSON.stringify(serviceRequestDto);
    let headers = new Headers({
        'Content-Type': 'application/json'
    });
    let options = new RequestOptions({ headers: headers });
    console.log("In data service.getAccountInfo");
    this.http
        .post(this.clientAccountInfoURL, body, options)
        .map((response : Response) => { return <AccountDto[]> response.json().accountDtoList})
        .do(data=> console.log('All :'+ JSON.stringify(data)))
        .subscribe( response => { 
                             this.accountList = response; 
                             this.serviceRequestDto.accountDtoList = this.accountList;
                             this.serviceRequestDtoSource.next(serviceRequestDto);
                         },
                         error => this.errorMessage = <any>error);
}
Run Code Online (Sandbox Code Playgroud)

搜索组件(点击服务并订阅)如下所示 …

rxjs behaviorsubject angular

2
推荐指数
1
解决办法
7426
查看次数

标签 统计

angular ×1

behaviorsubject ×1

rxjs ×1