首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular 8路由

Angular 8路由
EN

Stack Overflow用户
提问于 2019-08-26 20:09:27
回答 1查看 190关注 0票数 1

我正在为我的项目使用metronic模板,因为大多数需要的东西已经存在于模板中,但登录时,当我更改API URL时,它会将每个有效的电子邮件ID传递到下一页。因此,我尝试更改代码,使其可以根据要求工作,但事情是在验证电子邮件ID之后,它不会把我带到下一页。任何形式的帮助都将不胜感激。

该模板遵循此路由方法:

代码语言:javascript
复制
this.router.navigateByUrl(this.returnUrl);

我试着这样做:

代码语言:javascript
复制
this.router.navigate(['dashboard']);

login.component.ts

代码语言:javascript
复制
    ngOnInit(): void {
    this.initLoginForm();

    // redirect back to the returnUrl before login
    this.route.queryParams.subscribe(params => {
        this.returnUrl = params['returnUrl'] || '/';
    });
   }

   submit() {
       this.auth.login(authData.email, authData.password)
       .subscribe((res) => {
         if(res.code === 200){
            localStorage.setItem('token', res.data.token)
            this.router.navigateByUrl(this.returnUrl); // Main page
         }else{this.authNoticeService.setNotice(this.translate.instant('AUTH.VALIDATION.INVALID_LOGIN'), 'danger');}
       })
     }

所需的输出应将其带到仪表板上,提供有效的电子邮件ID并给出错误的电子邮件ID的错误。虽然它不会移动到下一页,即仪表板上的提交按钮和有效的电子邮件(实际)。

EN

回答 1

Stack Overflow用户

发布于 2019-08-26 20:27:37

您可以在快照中订阅或获取它:

代码语言:javascript
复制
this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';

代码语言:javascript
复制
// e.g. we are in /list page 
this.router.navigate(['/login'], { queryParams: { returnUrl: '/list' } });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57657679

复制
相关文章

相似问题

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