angular - 访问从 URL 重定向到 Angular 应用程序的链接不起作用
问题描述
我对角度相当陌生,我想了解路由是如何工作的。我在用户注册时创建了一个应用程序,并且将向他们发送一封包含验证链接的电子邮件。验证路由包含用户的id和验证码。当我尝试访问该链接时,应用程序似乎无法正确加载并产生错误。
这是我的路线:
const routes: Routes = [
{
path: 'index',
component: IndexComponent
},
{
path: 'login',
component: LoginComponent
},
{
path: 'signup',
component: SignupComponent
},
{
path: 'verify/:userId/:code',
component: VerifyComponent,
},
];
这些组件位于名为“Public”的模块下。
我不确定这是否有帮助,但这是我的 AppModule 导入:
imports: [
BrowserModule,
AppRoutingModule,
AppAsideModule,
AppBreadcrumbModule.forRoot(),
AppFooterModule,
AppHeaderModule,
AppSidebarModule,
PerfectScrollbarModule,
BsDropdownModule.forRoot(),
TabsModule.forRoot(),
ChartsModule,
AccountSettingModule,
DashboardModule,
PublicModule,
HttpClientModule
],
我已经读过这可以通过使用散列来工作,但我正试图避开它。我也读过关于 URL Rewrite 的文章,但我还没有深入研究它。
注意:在我的某些组件上,在浏览器上手动输入路线时,我也会遇到应用程序无法加载的情况。
任何帮助或建议将不胜感激。谢谢!
编辑:
这是我正在使用的示例链接:
http://localhost:4200/verify/ba2b6e7a-d508-42b6-7b7e-08d691922233/CfDJ8Itsl344PZFNhS%2BBl0gYyOeKez6UhdY8fDyNrZLI4TudMlmHSiYdYsILhvXzwRPIDBG1X4tN7WBOD5WpPMEFBqoEdkdiEju2bf61hrLHAkR6SkFx5tvAZMeYrDkIR0iRjDgIAfSg6g1JUhiv9z9sSfiTthC2sQGI6ERZ5CidNKP6qADpMeshvowekRGLEprfeSNQaYW%2BxeIBpty38UEkdakHiTpFHsOnTyvgUU%2BC6gnw
这就是我试图在我的 VerifyComponent 上获得它的方式:
ngOnInit() {
this._route.paramMap.subscribe(params => {
this.userId = params.get('userId');
this.code = params.get('code');
this._authService.verifyCode({ UserId: this.userId, Code: this.code}).subscribe(res => {
//do something after code is validated
},
error => console.log(error))
},
error => this._router.navigate(['/login']))
});
}
解决方案
推荐阅读
- sql - SQL - 从源表中提取某些记录,但也交叉引用同一个表
- android - 在 PHP 中保存用户 ID 的会话的等价物是什么?
- java - 从最高到最低排序数组
- node.js - 带有自定义语言的 SSML 输出
- angular - SVG,角度 - 错误:ExpressionChangedAfterItHasBeenCheckedError
- java - 将 Java 对象编码为确定性标识符
- java - Static interface methods are only supported starting with Android N (--min-api 24)
- go - go ldflags 设置变量值不起作用
- c# - 在图像上的矩形中的 DrawString 上添加 Google 字体
- apache - Apache (WAMP) 拒绝 HTTPS 连接