tgoop.com/sWebDev/3682
Create:
Last Update:
Last Update:
Изоляция внедрения зависимостей
Флаг InjectFlags.SkipSelf
позволяет пропустить текущий инжектор и искать зависимость в родительских инжекторах. Это используется, когда в компоненте не должно быть локальных определений сервиса, а требуется внедрить его из вышестоящего уровня, например, из родителя или модуля.
Например, компонент внедряет ConfigService
, но пропускает локальный провайдер и получает зависимость извне:
import { Component, Inject, inject, InjectionToken, InjectFlags } from '@angular/core';
export const CONFIG_TOKEN = new InjectionToken<string>('Config');
@Component({
selector: 'child-component',
template: `Config: {{ value }}`,
providers: [{ provide: CONFIG_TOKEN, useValue: 'локальная конфигурация' }]
})
export class ChildComponent {
value = inject(CONFIG_TOKEN, InjectFlags.SkipSelf);
}
В этом случае будет получено значение из родительского инжектора, даже если в текущем компоненте есть свой провайдер
CONFIG_TOKEN
. 👉 @sWebDev
BY Frontender Libs - обзор библиотек JS / CSS

Share with your friend now:
tgoop.com/sWebDev/3682