Служба в компонентной области, использующая InjectionToken в Angular - PullRequest
0 голосов
/ 17 октября 2018

Есть ли способ ограничить область действия Сервиса, который был введен с помощью InjectionToken, областью Компонента вместо предоставления ее в Модуле?

export const SomeServiceToken = new InjectionToken<SomeService>('Some Service');

...

@Component({
   ...
    providers: [
        {
            provide: SomeServiceToken,
            ...
        }
    ]
})
export class SomeComponent {
    constructor(@Inject(SomeServiceToken) public someService: SomeService) { }
}

Чтобы дать небольшой контекст этому: мне нужно использовать SomeComponent несколько раз на одной странице, и это отражает изменения на всех из них, потому что оно связано суслуга, которая была предоставлена ​​в модуле.Чтобы решить эту проблему, я хотел бы охватить Услугу Компонентом, если это возможно, и при этом иметь возможность предоставлять разные услуги для каждого модуля.

...