2017-02-14 22 views
2

是否有任何指导我怎么需要我的应用程序划分到单独的组件?例如这是我的应用程序的一部分:应用如何划分到组件的策略

enter image description here

现在(1)和(2)是分离的部件(其被置于其内的组分(3))。但是我发现我需要编写很多代码才能将消息从组件1传输到组件2并返回。

当用户选择值在组件1,我需要说的组件2重绘。当用户阅读组件2中的所有文章时,我需要说组件1从列表中删除项目。

现在,我认为这将是最好有一个组件,而不是两个单独的部件。

可能有一个很好的策略/咨询/文章 - 如何分割应用程序单独的组件?

回答

4

Angular2的整体实力是打破东西分解成可重用组件的能力。如果您正在考虑将事情分解为多个组件,则需要问的一个好问题是,您的应用中是否会出现这样的情况,即新组件彼此独立存在。如果你看到重复使用的潜力,那么你一定想分裂它们。这听起来像是你遇到的另一个基本问题是组件交互。 Angular 2 Cookbook为利用Services和Rxjs的组件交互提供了一个很好的例子。你可以read more about that here

就个人而言,我已经在我的角2级的应用程序使用@ngrx/store for Redux style state management。它提供了一个集中的地方来存储所有的应用程序状态,并且通过允许组件仅为他们需要的数据订阅商店并允许OnPush语义,从而大大简化了组件交互。