I abstracted some functionality from a component into a separate service, and injected the service into my component in order to use it. The problem I am facing now is that within my service, I need access to an object in my component.
How do I pass this object into my service. Is there a way to inject this object with a custom InjectionToken?
Thanks for any help!
stackblitz example - commented out inflicting code in service
You only have to change this in your component:
doSomething() {
this.service.doSomethingWithOrder(this.order);
}
and this in your service:
doSomethingWithOrder(order: {
id: number;
name: string;
}) {
console.log(order.name);
alert('need access to order here');
}
but be careful! As it's an object, you pass it as reference. If you modify it in the service, you are modifying the component object as well (the same instance).