我有一个模块,其路由定义如下。
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 {}
所以为了确认我删除了上面的延迟加载,我可以看到数据通过了。我现在的问题是,我不能在延迟加载的模块内的子路由中定义数据吗?这不是正确的做法吗?有什么建议么?