Angular один экземпляр службы lazyload - PullRequest
0 голосов
/ 17 июня 2020

Я знаю, что его спросили, но я не могу найти ответа на свою проблему.

Я создал библиотеку, содержащую 1 директиву, 1 компонент и 1 службу.

Библиотека должен создавать якоря на странице.

Пользователь помещает компонент в свой файл app.component. html.

Если пользователю нужна привязка, он должен использовать директиву. Когда директива загружена, она уведомляет службу, а затем в navigationEnd служба уведомляет компонент (для отображения меток привязок)

Все работает нормально, когда директивы используются в неленивом загруженном модуле. Пока модуль загружается лениво, кажется, что компонент и directve не используют один и тот же экземпляр службы.

I wi sh достаточно ясно Спасибо

1 Ответ

0 голосов
/ 17 июня 2020

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

@Inectable({ providedIn: 'root' })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...