观察和订阅角2

时间:2016-11-27 06:11:47

标签: angular observable subscribe

我知道还有其他帖子,但这些答案只是没有点击我,而且文档也不是很遗憾。我真的很难使用observable并订阅它们。我想要的是在一个组件中更新和数组,并在另一个组件中显示,而不是父组件或子组件。如果有人能够用最简单的方式将其分解,那么谢谢你。

1 个答案:

答案 0 :(得分:0)

您需要有一个可以在两个组件中注入的公共服务。该服务需要有2个方法来返回数组,另一个方法来更新数组。

服务的示例语法:

 getComments() : Observable<Comment[]> {
     return this.http.get(this.commentsUrl)
     // ...and calling .json() on the response to return data
     .map((res:Response) => res.json())
     //...errors if any
     .catch((error:any) => Observable.throw(error.json().error || 'Server error'));
 }

组件的示例语法:

loadComments() {
    // Get all comments
     this.commentService.getComments()
                       .subscribe(
                           comments => this.comments = comments, //Bind to view
                            err => {
                                // Log errors if any
                                console.log(err);
                            });
}
相关问题