【问题标题】:Angular - Get Route Parameters from parent routeAngular - 从父路由获取路由参数
【发布时间】:2019-02-22 09:11:10
【问题描述】:

我有一个全局路由模块,它允许我正确导航到延迟加载的组件模块。

在组件模块中,我有一个可以正确加载的子路由。然而,我似乎不能做的是从相册路径(userDetailComponent 的子项)内部访问 userID 参数

我尝试了以下方法,但它返回为未定义。

this.activatedRoute.params.subscribe((urlParameters) => {
  this.user_id = urlParameters['userID'];
}

以下是我的路由配置。任何帮助将不胜感激。

app-routing.module.ts

const routes: Routes = [
  { 
     path: 'users', 
     loadChildren: '../app/users/users.module#UsersModule' 
  },
  {
     path: 'users/:userID',
     loadChildren: '../app/component/component.module#ComponentModule' 
   }
]

component.module.ts

const routes: Routes = [
  {
    path: '',
    component: UserDetailComponent,
    children: [
      {
        path: 'albums',
        loadChildren: '../app/albums/albums.module#AlbumsModule';
      },
    ]
  },
]

【问题讨论】:

标签: angular angular-routing route-parameters


【解决方案1】:

albums 路径是 UserDetailComponent 的子路径,UserDetailComponent 的路径是 users/:userId 的子路径。所以当你在albums路由里面时,你应该通过路由树得到UserDetailComponent的路由参数。您可以使用ActivatedRoute.parent 访问您的路线的父级(它返回您当前路线的父级路线)

【讨论】:

  • 不是真的!那不是真的,因为似乎是延迟加载,但我得到了完整路径,并且 paramsMap 只返回没有父节点的子节点
猜你喜欢
  • 2016-11-25
  • 2016-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-06
  • 2018-02-04
  • 1970-01-01
  • 2016-11-06
相关资源
最近更新 更多