как создать многоразовый компонент в угловых с разным сервисным внедрением? - PullRequest
0 голосов
/ 15 января 2019

говорят, что компонент должен быть многоразовым, но я не могу понять, как сделать мой случай многоразовым? Я хочу иметь компонент, который используется для подтверждения чего-либо на сервере?

@Component({
    selector: 'app-confirm',
    template: '<button (Click)="confirm()">'

})
export class ConfirmComponent {
 constructor(private confirmService: ConfirmService){}
 confirm(){
  this.confirmService.confirm();
 }
}

Теперь, если я хочу использовать его где-то еще, как я могу изменить службу подтверждения, внедренную в этот класс, я знаю, что могу определить это в декораторе компонента, чтобы он внедрил что-то, что я хочу в качестве подтверждения, в этот класс класс, но тогда эти услуги создаются для каждого из этих компонентов?

редактировать

когда я сам выполняю внедрение зависимостей, я делаю что-то вроде этого:

class ConfirmComponent{
 confirmService: ConfirmServiceInterface;
 constructor(confirmService: ConfirmServiceInterface){
   this.confirmService = confirmService;
 }
}

первое использование:

new ConfirmComponent(a);

второе использование:

new ConfirmComponent(b);

Я хочу знать, как это сделать в угловых?

...