Angular 角度5-重定向后数据未绑定

Angular 角度5-重定向后数据未绑定,angular,angular5,angular-routing,Angular,Angular5,Angular Routing,当我从一个视图重定向到另一个视图时,数据绑定有问题。我正在“”视图中填写表单数据,然后重定向到“”(带有令牌的url)。重定向后没有任何内容被正确绑定(根本没有绑定),但我单击了刷新(chrome上的ctrl+r),然后正确地进行了绑定 创建.component.ts onSubmit() { this.model.token = UUID.UUID(); this.settleService .addSettle(this.model) .subs

当我从一个视图重定向到另一个视图时,数据绑定有问题。我正在“”视图中填写表单数据,然后重定向到“”(带有令牌的url)。重定向后没有任何内容被正确绑定(根本没有绑定),但我单击了刷新(chrome上的ctrl+r),然后正确地进行了绑定

创建.component.ts

  onSubmit() {
    this.model.token = UUID.UUID();

    this.settleService
      .addSettle(this.model)
      .subscribe(settle => this.settles.push(settle));

    this.router
      .navigate([`settle`, this.model.token])
      .then(() => console.log(`Redirection to settle details made!`));

    this.submitted = true;
  }
settle.component.ts-ngOnInit()方法

solite.component.ts-getsolite()方法


好吧,我想出来了。错误很简单-重定向是在从后端获得响应之前发生的(HTTP POST create SOLLET)。我把重定向逻辑放在后端响应之后,现在一切都正常了

工作代码:

create.component.ts-onSubmit()方法

create.component.ts-redirectToSettleDetails()方法


好吧,我想出来了。错误很简单-重定向是在从后端获得响应之前发生的(HTTP POST create SOLLET)。我把重定向逻辑放在后端响应之后,现在一切都正常了

工作代码:

create.component.ts-onSubmit()方法

create.component.ts-redirectToSettleDetails()方法


console.log(结算)
放入
this.settleteService.getSettle(token.subscribe(…)
的订阅中,输出是什么?结算有价值吗?在你的小小帮助下,我明白了,谢谢;)我的荣幸。:)将
console.log(结算)
放入
this.settleteService.getSettle(token.subscribe(…)
的订阅中,输出是什么?结算有价值吗?在你的小小帮助下,我明白了,谢谢;)我的荣幸。:)
  ngOnInit() {
    this.getSettle();
    this.currentUrl = window.location.href;
    this.show = false;
  }
  getSettle(): void {
    const token = this.route.snapshot.paramMap.get('id');

    this.settleService
      .getSettle(token)
      .subscribe(settle => this.settle = settle, null, () => this.BindEditUrl());
  }
  onSubmit() {
    this.model.token = UUID.UUID();

    this.settleService
      .addSettle(this.model)
      .subscribe(settle => this.settles.push(settle), null, () => this.redirectToSettleDetails());

    this.submitted = true;
  }
  redirectToSettleDetails(): void {
    this.router
      .navigate([`settle`, this.model.token])
      .then(() => console.log(`Redirection to settle details made!`));
  }