angular - Angular Routing - 是否有任何属性可以添加到路由配置中以连接到组件中?
问题描述
下面是我创建的示例路由配置。但是,在我的几个组件中,我想根据特定的路由在我的 HTML 中添加和删除类。是否可以添加任何其他“属性”(组件和 canActivate 所在的位置),我可以以某种方式连接到我的组件中?
例如“如果 URL.name = this”
{
path: 'folders/:folderId/projects/:projectId/s',
component: ProjectDetailComponent,
canActivate: [AuthGuardService],
children: [
{
path: 'edit',
component: ProjectEditComponent,
canActivate: [AuthGuardService],
customName: EditPanel, // Something like this possible?
},
],
},
抱歉,如果这有点含糊。
解决方案
我不确定这是否是最好的方法,但你可以data
像这样传递一个你想要的属性:
{
path: 'folders/:folderId/projects/:projectId/s',
component: ProjectDetailComponent,
canActivate: [AuthGuardService],
children: [
{
path: 'edit',
component: ProjectEditComponent,
canActivate: [AuthGuardService],
data: { type: 'editPanel' }
},
],
},
然后你可以在你的组件中得到这个:
export class ProjectEditComponent implements OnInit {
constructor(private route: ActivatedRoute) {}
ngOnInit() {
if (this.route.snapshot.data.type === 'editPanel') {
...
}
}
}
推荐阅读
- django - 从另一个经理访问相关的经理方法
- perl - 让 Vim 在缩进时忽略行中的第一个字符
- c - 在 STM32 MCU 上接收 USB 消息挂起
- mysql - 如果计数为 1,则 mysql 中的事件调度程序更新
- typescript - 三个 JS - OrbitControls 旋转时摆动
- python - 如何将简单整数转换为时间的分钟
- r - 在正则表达式之后拆分特定字符
- tcpdf - svg 到 pdf 的问题
未渲染 - ios - AVAudioRecorder 线程 1:EXC_BAD_ACCESS(代码=1,地址=0x0)
- react-native - 如何在 React Native 中关闭选择器?