angular2-如何在两个单独的组件之间进行通信?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了angular2-如何在两个单独的组件之间进行通信?相关的知识,希望对你有一定的参考价值。
我正在从事这个angular2项目。 我有2个组件,即WorkspacesComponent & PagesComponent
。
在数据库中,每个工作区都包含页数。 我写了下面的代码来填充workspacesComponent中的工作区列表和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);
);
到目前为止,他们向我返回了正确的数据。但是我要实现的功能是,我将在workspaceComponent中选择工作workspaceComponent
,并且该工作区中的所有页面仅应在pagesComponent
列出。
也就是说,单击工作区时,其索引可以传递给以下方法。
getPagesByWorkspaceId(index:string)
console.log(index);
并且此方法将相应地加载该工作空间中的页面列表。 问题是我不确定如何从WorkspacesComponent
调用PagesComponent
的方法
有输入吗?
对于不在直接父子关系中的组件之间的通信,请使用共享服务共享数据并进行通信。
有关更多信息,请参见https://angular.io/docs/ts/latest/cookbook/component-communication.html#!#bidirectional-service
如果两个组件之间没有关系(父/子),则需要利用共享服务。
有关更多详细信息,请参见此问题:
角度文档中的此链接还可以帮助您:
以上是关于angular2-如何在两个单独的组件之间进行通信?的主要内容,如果未能解决你的问题,请参考以下文章
typescript Angular2在兄弟组件之间进行通信