Angular2路由器:为什么不&x27;我们的路线上不再有州了吗

Angular2路由器:为什么不&x27;我们的路线上不再有州了吗,angular,typescript,Angular,Typescript,这是我的应用程序路径: const routes: Routes = [ { path: "login", component: LoginComponent }, { path: "users", component: UsersComponent }, { path: "error", component: ErreurComponent }, { pa

这是我的
应用程序路径

const routes: Routes = [
    {
      path: "login",
      component: LoginComponent
    },
    {
      path: "users",
      component: UsersComponent
    },
    {
      path: "error",
      component: ErreurComponent
    },
    {
      path: "more/complex/path",
      component: FooComponent
    },
    {
      path: "",
      component: HomepageComponent,
    }
]

export const APP_ROUTER_MODULE = RouterModule.forRoot(routes)
为什么我不能为我的路由指定一个状态或名称?如果我想知道我是否在错误页面上,那么我必须检查当前路线并查找我在“路径”中指定的内容(另请参见上面的my
FooComponent
)。我觉得这有点傻。有没有办法解决这个问题

const routes: Routes = [
    {
      path: "login",
      component: LoginComponent,
      data: { name: 'r1'}
    },
    {
      path: "users",
      component: UsersComponent,
      data: { name: 'r2'}
    },
    {
      path: "error",
      component: ErreurComponent,
      data: { name: 'r3'}
    },
    {
      path: "more/complex/path",
      component: FooComponent,
      data: { name: 'r4'}
    },
    {
      path: "",
      component: HomepageComponent,
      data: { name: 'r5'}
    }
]

另请参见

您可以传递
数据
。天哪,我的坏消息是您说得对,我查看的数据不正确。谢谢,这个位构造函数(route:ActivatedRoute){route.data.forEach(data=>console.log(data['name']);}可以在外部服务中使用吗?不知道“外部服务”是什么意思,但是你可以使用一个防护装置,例如,我的意思是:我的模块的所有组件是否都有一些共同的东西,我可以从中获取这些数据['name']信息。我想要的可能是解析防护装置。谢谢
class SomeComponent {
  constructor(route:ActivatedRoute) {
    route.data.forEach(data => console.log(data['name']));
  }
}