У меня странная проблема.
У меня есть NotificationService
, который вызывает уведомление Bootstrap, чтобы показать некоторые сообщения в стиле рычания. Я пытаюсь ввести ngZone
в конструкторе. Это работает в режиме JIT, но не работает в режиме AOT с «невозможно позвонить runOutSideAngular()
из неопределенного». Дальнейшая отладка показывает, что инжекция конструктора завершается неудачно в режиме AOT, но в режиме Dev (JIT) вводится нормально.
Тем не менее, я также ввожу ngZone
в мой app.component.ts, и он отлично впрыскивается здесь и в AOT, и в JIT.
Кстати, Сервис загружен в качестве провайдера в корневой модуль. Я не могу понять, почему Инъекция терпит неудачу. Я также пытался использовать инъекцию explict с помощью @Inject (NgZone), а также пытался отложить инъекцию с использованием forwardRef, но безрезультатно.
В Dev / JIT:
В Prod / AOT:
Вот мой сервис уведомлений:
export namespace Notification {
@Injectable()
export class NotificationService {
notifier: any;
constructor(private ngZone: NgZone) {
console.log('message from NotificationService constructor ngZone is ', this.ngZone);
}
Что мне здесь не хватает?