angular - Angular2 中 api 调用后重定向到路由

标签 angular router subscribe

在处理(通过 API)用户通过表单提交的数据后,我需要将用户重定向到不同的组件。下面是我尝试过的代码。

在组件中

onSubmit(model){
  if(model.valid === true) {
    this.SharedService.postFormdata(model).subscribe(
       data  => { console.log(data)},
       error => Observable.throw(error);   
    );
    this.router.navigate(['PublicPage']);
  }
}

但是,调用完成后,它不会重定向到 PublicPage 组件。请提供任何帮助。谢谢。

最佳答案

import { Router } from '@angular/router';

export class HeroesComponent {

  constructor(private router: Router) { }

  onSubmit(modal): void {
    if(model.valid === true) {
      this.SharedService.postFormdata(model).subscribe(
      (data) => { 
        // Page redirect when getting response
        this.router.navigate(['/PublicPage']);
      }, 
      (error) => {
        console.log("err", error);   
      });
    }

  }

}

为了更好地理解,请阅读此文档:Angular2 routing

关于angular - Angular2 中 api 调用后重定向到路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41195784/

相关文章:

reactjs - React路由器,如何在浏览器后退按钮后恢复状态?

c++ - 单击路由器 C++ 标准库

具有 Vue 项目路由的 Azure 静态 Web 应用程序无法正常工作

angular - Angular 中的即时 (JiT) 与提前 (AoT) 编译

angular - 在 Angular2 中通过 JSON 加载路由

angular - 为 Angular 6 中的所有组件设置通用背景

kotlin - kotlin,在subscribe()中使用观察者对象实例时得到了 “Type mismatch. Required: Disposable? Found: Unit”

angular - 如何从 angular 8 中的primeng p-editor 的工具栏中删除选项卡?

javascript - 在 TypeScript 中使用 subscribe 方法操作值

system.reactive - 在 C# 中使用 Reactive Extensions 时如何显示进度