首页 > 解决方案 > 使用路由器导航以角度转到新创建的产品

问题描述

单击提交按钮后,我正在尝试导航到新创建的产品。现在到目前为止一切正常,但是在我的 .ts 文件中,我想重定向到可以说在创建该产品后编辑该产品的组件。如何获取新创建的组件的 id?到目前为止,在我的 ts 中,我有这个在创建产品后立即重定向到仪表板,但我想将其重定向到编辑该产品

const newProduct = { ...product, price: +product.price };
      this.adminService.createProduct(newProduct).subscribe((response: any) => {
        this.router.navigate(['/dashboard/']);
        this.toastr.success('Product Created Successfully');
      });

标签: angulartypescriptangular9

解决方案


createProduct方法adminService应该返回新产品的 ID,或者更准确地说,它应该返回一个发出该新产品 ID 的 observable。createProduct 到底是做什么的?

您的代码将使用 createProduct 的这个模拟实现:

  createProduct(newProduct): Observable<number> {
    return of(123456);
  }

您的订阅处理程序将获得分配的值 123456 以response使您能够相应地导航。


推荐阅读