Ошибка DI в подкомпоненте
Я разрабатываю (действительно) огромное приложение Angular 2 как внутренний инструмент для моей компании. Приложение состоит из различных подприложений, которые могут быть доступны только определенным пользователям.
Чтобы сделать это, я попытался использовать класс CanActivate, возвращающий наблюдаемую информацию, запрашивая один из моих сервисов для проверки доступа, но конструктор для этого класса становится недействительным, когда я пытаюсь импортировать сервис.
Поэтому я перенес тест в само приложение, но оно не прошло так же. Так что, скорее всего, проблема в самом сервисе. Очень странно то, что контейнер приложений использует один и тот же сервис, без каких-либо проблем (сервис также предоставляет список доступных приложений, генерируя меню приложений).
Я вполне уверен, что проблема заключается в порядке загрузки компонентов (и, вероятно, Http
), но я понятия не имею, где искать. К сожалению, учитывая сложность приложения, мне очень трудно выделить проблему, и я не знаю, что делать.
Я искал похожие проблемы и находил похожие ситуации, но тем временем разработка Angular2 продвинулась вперед, и эти решения стали бесполезными.
1 ответ
Я потратил целый день на эту проблему, но я понял это.... почти.
Это не было связано с DI, но что-то не так с импортом констант (конечно, данная ошибка была абсолютно вводящей в заблуждение), я действительно понятия не имею, почему. Я переместил это, и теперь это работает должным образом. В любом случае, спасибо.