Двойная привязка в обеих службах angular - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть две службы, Service1 и Service2, констесторы моих услуг, которые вы видите ниже:

// service1.service.ts
constructor(
    private service2: Service2
)

// service2.service.ts
constructor(
    private service1: Service1
)

, но при компиляции я получаю ошибку

Uncaught ReferenceError: Невозможно получить доступ к 'Service1' до инициализации

Я не регистрирую никакую службу в моем app.module. Что я могу сделать?

1 Ответ

1 голос
/ 20 апреля 2020

Во-первых. В качестве опции вы можете использовать forwardRef

Позволяет ссылаться на ссылки, которые еще не определены.

class SecondService {
  constructor(
    @Inject(forwardRef(() => FirstService)) private firstService: FirstService
  )
}

Секунда. Вы можете использовать третью общую инъецируемую одноэлементную службу, которая используется для размещения / обмена общими данными (предпочтительный способ)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...