【问题标题】:Angular System Design - ComponentsAngular 系统设计 - 组件
【发布时间】:2018-01-22 22:20:51
【问题描述】:

在创建 Angular 页面时,您应该多久进行一次组件化?

例如,假设我们有一个个人资料页面,显示图片、状态更新、用户信息都应该是个人资料组件上的单独组件吗?

或者是用于可重用事物的组件,例如搜索文本框或其他东西

【问题讨论】:

    标签: angular


    【解决方案1】:

    这真的取决于你的喜好。 Angular 的美妙之处在于,它让您可以选择根据需要对网站进行分区。一般来说,如果要在您的网站中多次使用,则应将网站的每个方面都制成一个组件。

    对于您的具体示例,如果有多个用户,可能会有多个个人资料页面从结构的角度来看完全相同,但内容会因登录的用户而异。个人资料页面应该是自己的组件,但将显示图片、状态更新或用户信息都作为它们自己的独立组件可能是过大的,除非 HTML 标记过于冗长。所有这些用户特定的数据都可以使用profile.component.html 模板中的string-interpolationdirectives 以及从profile.component.ts 文件传入的数据来解决。

    【讨论】:

    • 如果你说分离较小的组件是一种矫枉过正,我将如何在本周天气的状态更新中轻松更改?我会建议尽可能多地在有意义的地方进行组件化(页面上的视图具有相同的关注点),在需要时可以轻松替换。此外,原子片段应该是可重用的组件(按钮、输入、网格等)。
    • 我认为为1-5行代码制作一个组件肯定是大材小用,除非这段代码在你的应用程序中重复使用,那么我认为将它制作成一个组件是有意义的。组件也存在挑战,包括使用父/子组件中的@Input/@Output,如果它只是在主模板文件中开始,则可以完全消除。没有正确或错误的答案,这是一个设计选择。
    【解决方案2】:

    这取决于你的架构。通常,您创建的可重用独立组件越多,您的应用程序就越模块化和可测试。但是你必须小心,也许没有必要创建很多小组件。将页面分成单独的组件时,您会将事物分解成块。但这也需要时间

    【讨论】:

      猜你喜欢
      • 2014-07-06
      • 2017-05-23
      • 1970-01-01
      • 2022-07-22
      • 1970-01-01
      • 2022-08-20
      • 2018-11-10
      • 2012-08-09
      • 1970-01-01
      相关资源
      最近更新 更多