是否有任何指南如何将我的应用程序划分为单独的组件?例如,这是我的应用程序的一部分:
现在(1)和(2)是单独的组件(放置在组件(3)内)。但我发现我需要编写许多代码来将消息从组件1传输到组件2并返回。
当用户在组件1中选择值时,我需要说组件2重绘。当用户阅读组件2中的所有文章时,我需要说组件1从列表中删除项目。
现在我认为最好有一个组件而不是两个独立的组件。
可能有一个好的策略/建议/文章 - 如何将应用程序拆分为单独的组件?
答案 0 :(得分:4)
Angular2的全部优势在于能够将内容分解为可重用的组件。如果你正在考虑将事物拆分成多个组件,那么一个很好的问题就是你的应用程序中是否会出现这些新组件彼此存在的情况。如果您发现重用的可能性,那么您肯定想要拆分它们。听起来你正在遇到的另一个基本问题是组件交互。 Angular 2 cookbook为利用Services和Rxjs的组件交互提供了一个很棒的例子。你可以read more about that here。
就我个人而言,我一直在Angular 2应用中使用@ngrx/store for Redux style state management。它提供了一个集中的位置来存储所有应用程序状态,并通过允许组件仅为其所需的数据订阅商店并允许OnPush语义来大大简化组件交互。