2016-05-10 6 views
1

Я работаю над этим проектом angular2. У меня есть 2 компонента, то есть WorkspacesComponent & PagesComponent.angular2- как общаться между двумя отдельными компонентами?

в базе данных, каждая рабочая область содержит количество страниц. Я написал ниже код для заполнения списка рабочих областей в рабочих областяхComponent & Список страниц в PagesComponent.

получать рабочие из базы данных

this.workspaceService.getAllWorkspaces(this.baseUrl) 
     .subscribe((workspaces) => { 
      this.workspaces = workspaces; 
      console.log(this.workspaces); 
     } 
     ); 

получение страниц из базы данных

this.pagesService.getAllpages(this.baseUrl) 
     .subscribe((pages) => { 
      this.pages = pages; 
      console.log(this.pages); 
     } 
     ); 

до сих пор, они возвращаются мне правильный data.but Я хочу, чтобы реализовать функциональные возможности, где я буду выбор рабочего пространства в workspaceComponent & все страницы в этом рабочем пространстве должны быть перечислены в pagesComponent.

Expected result

, который, по щелчку рабочего пространства, его индекс может быть передан ниже способом.

getPagesByWorkspaceId(index:string){ 
    console.log(index); 
} 

и этот способ будет соответственно загружать список страниц в этом рабочем пространстве. проблема в том, что я не уверен, как назвать метод в PagesComponent от WorkspacesComponent

любые входы?

ответ

1

Для связи между компонентами, которые не имеют прямого отношения родитель-потомок, используется совместно используемая служба для обмена данными и обмена данными.

Для получения дополнительной информации см https://angular.io/docs/ts/latest/cookbook/component-communication.html#!#bidirectional-service

1

Если нет никакого отношения (родитель/ребенок) между вашими двумя компонентами, вы должны использовать общую службу.

Смотрите этот вопрос для более подробной информации:

Эта ссылка с угловой документ также может помочь вам:

Смежные вопросы