我想访问component.ts中的更新变量,我想将它分配给方法外的其他变量。如何做

时间:2018-04-08 10:42:21

标签: angular angular2-template angular2-forms angular2-services angular2-directives

service.ts

get_update(id:any): Observable<any[]>{
    let headers = new Headers({ 'Content-Type': 'application/json'});
    let options = new RequestOptions({ headers: headers });
    return this.http.get('http://localhost:8000/vendor/'+id,options)
                        .map((res: Response) =>  res.json())
                        .catch(error => Observable.throw(error.statusText));
}

component.ts

this.service.get_update(this.user).subscribe(update => this.update = update,
                                      error =>console.log(error));

我想访问component.ts中的更新变量,我想将它分配给方法外的其他变量。如何做到

1 个答案:

答案 0 :(得分:0)

在一些其他方法中访问this.update将无济于事,因为该值在回调中被分配,而其他一些方法将不会等待其执行而导致null值。 您可以将函数回调作为get_update方法的输入,这样当您获得更新值时,您可以将该值传递给相应的回调 或者你可以直接调用你的回调中的另一个方法,将更新值作为输入参数传递。