一个组件中的几个路径Angular 2

时间:2016-03-07 21:24:41

标签: javascript angularjs angular-ui-router angular-routing

假设有一个组件 - UsersComponent,它有两种方法:getAlUsers()getUser(id)。在@RouteConfig中,我们只能使用组件的一个名称(构造函数将被称为默认值),但我们无法指定必须调用哪种类方法。是否可以定义这样的东西:

{
    path: '/users/',
    component: UsersComponent,
    name: 'Users'
},
{
    path: '/users/getAllUsers',
    component: UsersComponent.getAllUsers,
    name: 'GetAllUsers'
},
{
    path: '/users/getUser',
    component: UsersComponent.getUser,
    name: 'GetUsers'
}

或者是否无法制作Angular 2?

1 个答案:

答案 0 :(得分:3)

这是组件嵌套和使用子组件进行不同操作(如“用户列表”和“用户详细信息”)的常见用例。我们的想法是使用非常精细的组件和非常集中的用例。如果您有公共代码(例如,通过http加载数据),请考虑将此逻辑移动到所有组件使用的服务中。

您可以通过使用“...”表示法在顶级组件路由中引用“UserComponent”来实现此目的。然后在这个“UserComponent”中定义另一个带有//:id两个配置的路由,这样你就可以引用两个子组件“user list”和“user details”。

父路线配置:

  {
    path: '/users/...',
    name: 'Users',
    component: UserComponent
  }

在UserComponent中路由配置:

@RouteConfig([
  { path: "/", name: "User List", component: UserListComponent, useAsDefault: true },
  { path: "/:id", name: "User Detail", component: UserDetailComponent },
])