2016-11-27 2 views
-1

Je sais qu'il y a d'autres articles à ce sujet mais ces réponses ne cliquent pas pour moi et les docs ne sont malheureusement pas non plus. Je me bats vraiment pour utiliser des observables et m'abonner à eux. Ce que j'essaye de mettre à jour et de tableau dans un composant et d'afficher dans un autre, ce n'est pas un parent ou un composant enfant. Si quelqu'un a juste la gentillesse de le dire en termes simples, merci.Observable et souscripteur angulaire 2

Répondre

0

Vous devez avoir un service commun que vous pouvez injecter dans les deux composants. Le service doit avoir 2 méthodes pour retourner le tableau et une autre pour mettre à jour le tableau.

Exemple Syntaxe de service:

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')); 
} 

Exemple de syntaxe du composant:

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