假设有一个组件 - 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?
答案 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 },
])