我创建了一个导航栏,据我所知,我必须为每个页面和子页面创建一个组件。如果您有很多导航选项,每个导航选项都有子导航选项,如图所示,那么创建大量组件似乎是多余的。
是否真的有必要创建20多个组件?什么是正常的角度结构,你如何处理?
答案 0 :(得分:2)
是的,为每个页面创建组件是一种常见且良好的做法。 如果您根据参数提供内容(在您的情况下,它看起来像url参数),您可以配置路由以接受参数:
{ path: 'article/:articleId', component: ArticleComponent }
然后,在组件中执行:
constructor(private route: ActivatedRoute) { }
ngOnInit() {
this.route.params.subscribe((params) => {
// get your article with id params[articleId]
});
}
这将为您提供参数化路线。
您可以使用它来创建页面'Portfolio',然后每个子页面将重定向到具有不同参数的相同组件(Webdesign,Graphic design等)。