首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >7-8条动态路由

7-8条动态路由
EN

Stack Overflow用户
提问于 2019-10-29 01:21:43
回答 1查看 10.2K关注 0票数 2

我有一个角度的应用程序,应该能够创建新的路线取决于用户。假设用户'johndoe‘注册了,那么应用程序应该创建一个路由:domain/johndoe

当然,应该向/johndoe路由提供有关特定用户的一些信息(如姓名、图像等)。

我使用谷歌云托管和Firestore作为后端解决方案,到目前为止,我的进展是将Router注入到我的AppComponent构造函数中,然后在router.config上使用unshift函数。这是可行的,但我必须将所有新的路由(“用户”)存储到我的数据库中的一个单独的文件中,然后每当有人导航到一个私人的机器(例如domain/johndoe)时查询数据库。

有没有一种漂亮且更易于维护的解决方案,可以考虑到我的后端配置?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-29 02:06:48

您可以将userName作为路由参数传递。在路由数组中

代码语言:javascript
运行
复制
{ path: 'domain/:username', component: UserDetailsComponent }

在HTML中:

代码语言:javascript
运行
复制
<a [routerLink]="['/domain', usernameVar]">

当有人点击该链接时,它将被路由到UserDetailsComponent。在组件中,可以读取用户名。

代码语言:javascript
运行
复制
username: string;
constructor(private route: ActivatedRoute) {}

ngOnInit() {
    this.route.params.subscribe((params: Params) => {
        this.username = params.username; // same as :username in route
    });
    // using username call the BE api and fetch data
}

有关路径参数的详细信息,请访问https://angular.io/guide/router#route-parameters

如果您希望根据授权路由到页面,请使用authGuards。https://angular.io/guide/router#canactivate-requiring-authentication

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58595593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档