Я пытаюсь инициализировать плагин в родительском элементе через службу, а затем использовать объект плагина в дочерних компонентах. Но у меня проблема с тем, что объект плагина возвращает undefined в дочерних компонентах. Я считаю, что если я инициализирую плагин в constructor (), я смогу получить к нему доступ из дочерних компонентов, но я не знаю, как это сделать.
Родительский компонент
export class HomeComponent implements AfterViewInit {
constructor(private tooltip: TooltipService) { }
ngAfterViewInit(): void {
this.tooltip.initPlugin('.item-tooltip');
}
}
Код TooltipService
@Injectable({
providedIn: 'root'
})
export class TooltipService {
public plugin: any;
constructor() {}
public initPlugin(elementId: string): void {
this.plugin = new pluginName(elementId);
}
}
Дочерний компонент
export class AccordionComponent implements OnInit {
constructor(private tooltip: TooltipService) { }
ngOnInit(): void {
console.log(this.tooltip.plugin.class);
}
}