如何在角度2

时间:2017-03-06 16:36:29

标签: angular angular2-http

我想在Angular 2中使用angular 1 $ http.pendingRequest的替代方法,或者像拦截器一样全局跟踪。主要用于在拨打电话时显示加载图标

2 个答案:

答案 0 :(得分:1)

我可能只是在observable没有返回时保持图标的状态。

示例:

export class MyClass {
    private isLoaded = false;

    constructor(private myService: MyService){}

    ngOnInit(){
        this.myService.myServiceCall().subscribe(data => {
            console.log(data);
            this.isLoaded = true;
        });
    }

}

然后在对话框中使用*ngIf。您还可以考虑使用Angular为以下场景提供的异步管道:

https://angular.io/docs/ts/latest/api/common/index/AsyncPipe-pipe.html

答案 1 :(得分:-1)

您可以这样做:

 getItem(itemID:string){
    if(this.pendingRequest){
        this.pendingRequest.unsubscribe();
    }
    this.pendingRequest = this.http.get(`./country-info/${itemID}`).map((res: Response) => res.json()).subscribe(res => this.item = res.item);
}