Angular 2多个CRUD组件:路由或父组件

时间:2016-09-05 13:08:19

标签: angularjs angular components angular-routing

我有一个多个部分的应用程序,这些部分或多或少是独立的CRUD组件 据我所知,有两种方法可以解决这个问题:

  • 让父母使用ngIfs来处理查看/编辑/添加孩子
  • 在每个父组件和路由器中使用带有插座的子路由,例如/ section / edit,/ section / view,以及没有。

我的问题是解决这个问题的最佳做法是什么。我倾向于第一个,因为它允许用户做一次编辑多个部分的东西,但程序上它看起来不像第二个那么优雅。

1 个答案:

答案 0 :(得分:2)

当我想要更改整个视图时,我使用路由。例如,用户详细信息和用户编辑视图在我的应用中非常不同,因此我使用了路由。

当我需要控制视图的一个小的,可重复使用的部分时,我使用子组件。例如,所有用户列表中的用户卡,邮政局评论列表中的注释div,或将在多个视图中使用的侧边菜单。

需要考虑的事项:路由使用户可以更轻松地共享和保存指向特定视图的链接,以及来回导航。我希望我之前已经内化了,因为我的应用程序现在处于一种状态,我希望用路由替换多个*ngIf受控视图。例如,当客户填写多步骤表单时,我有*ngIf="step==1"*ngIf="step==2"来控制视图。但是客户希望如果他们在浏览器导航栏中点击Back,则会将他们带到上一步。因为我没有仔细计划,所以这会将它们带到之前的路线,这意味着当它们返回到表格时,它们会回到第1步。