【发布时间】:2020-05-08 05:11:12
【问题描述】:
我正在使用 Angular 8 从路由中获取一些参数或数据,但它始终是空的。 我的组件位于名为“消息”的延迟加载模块中。
app-routing.module.ts:
...
{
path: 'message',
loadChildren: () =>
import('./systems/message/message.module').then(
m => m.MessageModule
)
},
...
message-routing.module.ts:
...
const routes: Routes = [
{
path: '',
component: MessageIndexComponent,
children: [{ path: ':folder', component: ComponentMessageListComponent }]
},
{ path: 'add', component: MessageAddComponent },
{ path: 'list', component: MessageIndexComponent }
];
...
component-message-list.component.ts:
...
constructor(
private route: ActivatedRoute
) {}
ngOnInit() {
console.log(this.route.snapshot.paramMap.get('folder'));
// Change list on date change
this.route.paramMap.subscribe(params => {
console.log(params.get('folder'));
});
}
...
当路由到这个地址时,两个控制台都返回 NULL:
/消息/收件箱
更新:
我通过将地址直接写入浏览器来导航到路线:
或通过锚标记
message-index.component.html
...
<a class="list-group-item list-group-item-action d-flex p-3" routerLink="inbox" routerLinkActive="active">
Inbox
</a>
...
而且参数总是为空
【问题讨论】:
-
如何使用数据导航到路线?你能添加那个代码吗?
-
@AmitChigadani 通过在地址栏中写入路线或使用锚标记。我将此添加到问题中
-
可以分享MessageIndexComponent html代码吗?
-
@Chellappanவ 从该文件添加的锚标记
标签: javascript angular typescript angular2-routing