我正在用角度创建学校管理系统,我希望动态分配路线路径名称,以便每个学校都有自己的URL进行登录。例如:当超级管理员创建学校时,带有登录链接的邮件将发送给该学校的管理员。 (类似于“ xxx.yyy.schools / school1”,xxx.yyy.schools / school2,xxx.yyy.schools / school3)。电子邮件链接将必须像上述示例一样生成,例如学校1、2和3。
我已经在互联网上搜索并找到了解决方案,以通过使用 {path':schoolname',component:SchoolLoginComponent},但这不是我期望的
const appRoutes:路线= [ {路径:“ school1”,组件:LoginComponent},
以上是我尝试过的方法,但路径名设置为静态的“ school1”,在此我希望它以学校的名称动态生成。
我有一个学校创建表格,该表格通过URL链接向学校管理员发送邮件,但这是静态分配的。我希望路由路径名称是动态的,以便学校管理员可以意识到URl只能由他们使用
答案 0 :(得分:0)
否,您无法动态设置pathname
,Angular编译器需要了解您的pathname
的AOT。
但是,更好的方法是例如动态设置路径参数
const appRoutes: Routes = [
{
path: 'schools/:id',
component: LoginComponent
}
]
如果更适合您,可以使用:name
代替:id
,导航将是这样的
<!-- from HTML -->
<a routerLink="/schools/{{id}}">Crisis School</a>
或
// from component.ts
this.router.navigate(["schools", id]);
这是一个实际的example,请注意,在此示例中,学校URL为yourdomain/schools/school-name