0

我有一个模块,其路由定义如下。

 const routes: Routes = [

  {
    path: '',
    pathMatch: 'full',
    component: RoleListViewComponent
  },
  {
    path: RolesRoutes.addNewRole,
    component: ManageRoleComponent,
    data: {
      privileges: PRIVILEGES_SPECS.managedEnterpriseSettings,
      newRole: true
    }
  }
];

@NgModule({
  imports: [RouterModule.forChild(routes)],
  exports: [RouterModule]
})
export class RoleRoutingModule { }

我面临的问题是将数据传递到 addNewRole 路径。当我尝试从组件内部访问相同的对象时,它给了我空对象。我做了很多搜索认为这可能是由于这个模块的延迟加载,如下所示

import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { RolesRoutes } from './user-management.constants';
@NgModule({
  imports: [
    RouterModule.forChild([
      /* {path: '', pathMatch: 'full', component: InsertYourComponentHere} */
      {
        path: RolesRoutes.roles,
        loadChildren: () => import('./role/role.module').then(m => m.RoleModule),
      }
    ])
  ]
})
export class UserManagementModule {}

所以为了确认我删除了上面的延迟加载,我可以看到数据通过了。我现在的问题是,我不能在延迟加载的模块内的子路由中定义数据吗?这不是正确的做法吗?有什么建议么?

4

0 回答 0