Angular 12 - 如何将对象传递到您的服务中

Angular 12 - how do you pass an object into your service

我从一个组件中提取了一些功能到一个单独的服务中,并将该服务注入到我的组件中以便使用它。我现在面临的问题是在我的服务中,我需要访问我组件中的一个对象。

如何将此对象传递到我的服务中。有没有办法用自定义 InjectionToken 注入这个对象?

感谢您的帮助!

stackblitz example - 在服务中注释掉造成代码

您只需在您的组件中更改它:

  doSomething() {
    this.service.doSomethingWithOrder(this.order);
  }

这在您的服务中:

doSomethingWithOrder(order: {
    id: number;
    name: string;
  }) {
    console.log(order.name);
    alert('need access to order here');
  }

但要小心!因为它是一个对象,所以您将它作为引用传递。如果你在服务中修改它,你也在修改组件对象(同一个实例)。