Это возможно, что вы хотите, но не очень описательный, хотя. Лучше было бы просто сделать ProductService
вычитание и расширить его с помощью CarService
и FoodService
и использовать их в качестве провайдеров.
Если вы, однако, хотите, чтобы это было так, как вы просили, я полагаю, вы можете сделать это:
@Component({
//...
providers: [
{ provide: 'carService', useFactory: (/*deps*/) => new ProductService(), deps: [] },
{ provide: 'foodService', useFactory: (/*deps*/) => new ProductService(), deps: [] }
]
})
export class ProductComponent {
constructor(
@Inject('carService') private readonly carService: ProductService,
@Inject('foodService') private readonly foodService: ProductService
) {}
}
Имейте в виду, что любой внедренный поставщик зависимостей из ProductService
будет совместно использоваться этими двумя,Что вы можете решить при необходимости, расширив свою фабрику
Если ProductService
не вводит никаких провайдеров (в чем я сомневаюсь), вы можете просто использовать new ProductService()
в своем компоненте:
@Component({
//...
providers: []
})
export class ProductComponent implements OnInit {
private readonly carService = new ProductService();
private readonly foodService = new ProductService();
}