Angular 2 : How granular should components be organized?

标签 angular

例如:我有一个显示帖子列表的组件。它们通过服务检索,并全部显示在一个表中,每个帖子一行。这是我的 PostComponent。

现在我还想编辑帖子并为此添加一个表单。

我应该将表单添加到我的 PostComponent 并为两者使用一个组件吗?

我应该在新文件中添加一个新的 PostFormComponent 并注入(inject)到 PostComponent 中(或者我需要的地方)吗?

我应该在与 PostComponent 相同的文件中定义第二个组件吗?

我知道最佳实践问题往往会被否决,但我对您的方法和最佳实践非常好奇。我知道这三个都有效。

谢谢!

最佳答案

在 Angular 2 中主要构建两种类型的组件:

  • 可路由组件
  • 嵌套组件

当您的功能是另一个“页面”的一部分时,请使用嵌套组件。例如显示星级或标准地址 block 的组件。这些通常可在多个页面上重复使用。

当您想要一个“接管”页面的全部或重要部分的模板时,请使用可路由组件。因此,如果您的应用程序具有欢迎页面、帖子列表页面、帖子详细信息页面和帖子编辑页面,那么每个页面都将是其自己的可路由组件。

正如之前的发帖人所建议的那样……查看 Angular 文档中的风格指南。

关于 Angular 2 : How granular should components be organized?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37594590/

相关文章:

javascript - 如何在angular2中的某些场景路由后更新导航栏

Angular Mat-form-field 占位符颜色

angular - attr.property 和 Angular 模板中的属性有什么区别?

Angular2 - 什么是好的 'dist' 文件夹大小?

angular - OccAdapters 和 Services 之间的使用差异是什么?

angular - RXJS Observable 移除管道操作符

javascript - 如何以 Angular 获取复选框值?

javascript - 自定义 Angular 6 Material 日期选择器

javascript - Angular 2-datatable 中的 Angular 2 搜索过滤器查询 - 类型 'first_name' 上不存在属性 '{}'

javascript - 将输入框 2 的文本更改为输入框 1 Angular 2 中的更改?