如何使用一级 url 构建角度项目?



在网站上工作,有几个部分:按类别排列的帖子,视频库等。 我需要有一个级别的网址(domain.com/page-address(。我可以获取有关此视图必须在正面加载page-address哪个视图的信息,但是我无法很好地组织角度项目。

我设法使一切正常工作,但仅通过组件,在单个模块和单个路由器插座中,将所有路由发送到单个组件。routes: Routes = [{apth: '**', , component: MainComponent }]组件决定应加载哪个组件。

/// viewType is retrieved from backend
<app-articles *ngIf="viewType == 'article_categories' || viewType == 'articles'" [viewType]='viewType'></app-articles>
<app-videos *ngIf="viewType == 'video_categories' || viewType == 'video_page'" [viewType]='viewType'></app-videos>
<app-page-not-found *ngIf="viewType == 'page-not-found'" ></app-page-not-found>

这对我来说似乎非常糟糕的解决方案,因为我无法使用RouterLink,每次点击都会重新加载整个网站。

也尝试使嵌套RouterOutlets,但无法使其工作。

你有解决方案吗?

谢谢

如果我正确理解您的问题,我相信一种解决方案是在后端使用高速路由器来处理您的路由。解释Express超出了Stack Overflow答案的范围,但YouTube上有大量的教程。我推荐Traversy Media的"MEAN Stack Front-to-Back"系列。它很旧,所以它的某些部分需要解决方法,但他设置路由器的工作流程是我至今仍在使用 Angular 的工作流程。

您的应用模块将包含:

routes: Routes = [
{path:  '/pathA', , component: ComponentA },
{path:  '/pathB', , component: ComponentB },
{path:  '/pathC', , component: ComponentC, canActivate:[AuthGuard] },
]

但实际路由将通过后端的高速路由器处理。

节点有很多路由器包;快递只是我使用的一种。

最新更新