【问题标题】:Angular component detail levelAngular 组件详细程度
【发布时间】:2017-07-29 13:40:41
【问题描述】:
我目前正在接手一个项目。这是一个Angular2项目。在这个项目中,一切都被分解成非常详细的组件。
比如没有header组件,而是有module-view组件(textModule、ImageModule、buttonModule都是module-view组件的实例),header由textModule和ImageModule两部分组成。
我了解使用模块化组件的重要性。但是是否有必要将标题分解成这个非常微不足道的组件级别?
【问题讨论】:
标签:
angular
module
components
【解决方案1】:
根据应用程序中标头的功能,恕我直言,这可能有点矫枉过正。重要的是要尽可能地考虑组件的可重用性,以便它们可以在应用程序的不同部分或未来应用程序中回收。考虑到这一点,我有几个问题:
- 项目使用的是什么版本的 Angular?您已标记 angularjs 和 angular2。 Angularjs 现在指的是 Angular 1.x,Angular 指的是 Angular 2.X、3.x、4.x 等等。有关 Angular 中语义版本控制的完整说明,请参阅 here。
- textModule、imageModule 和 buttonModule 是实际模块还是组件?
一般来说,模块是将应用程序分成特定的关注点——每个关注点都有自己的服务、提供者和组件——并提供延迟加载功能。因此,为这些原始组件中的每一个设置模块并没有多大意义。
我编写的应用程序有一个 Header 组件,该组件由许多不同的组件组成。例如,您可能有一个搜索栏,它是一个单独的组件,具有自己包含的功能,例如调用服务器。您还可以拥有一个用户配置文件组件,其中包含与用户相关的选项的切换列表,例如注销、查看配置文件等。
智能和展示组件的概念是决定如何分块应用程序时要考虑的另一个因素。这个post 描述了 Angular 中用于创建这些组件的一些最佳实践。
希望对您有所帮助!随意扩展您的问题:)