angular rc1: ИСКЛЮЧЕНИЕ: Ошибка: Uncaught (в обещании): не удается найти выход по умолчанию

Я действительно должен вставить сюда исходный код, но я не знаю, какую часть из этих 300 строк в моем компоненте я должен вам показать.

Может быть, сообщение об ошибке «ИСКЛЮЧЕНИЕ: Ошибка: не поймано (в обещании): не удается найти выход по умолчанию» имеет общее решение? Я пропустил какой-то параметр или тег?


person Tobias Gassmann    schedule 07.06.2016    source источник
comment
У вас есть тег <router-outlet></router-outlet> в корневом компоненте? Или вы ссылаетесь на ROUTER_PROVIDERS где-то еще, помимо корневого компонента?   -  person rinukkusu    schedule 07.06.2016
comment
Да. Я использую подкомпонент в компоненте, и у меня есть ‹router-outlet›‹/router-outlet› в каждом компоненте (в соответствующих файлах html-шаблонов)   -  person Tobias Gassmann    schedule 07.06.2016
comment
Можно ли воспроизвести в плункере?   -  person Günter Zöchbauer    schedule 07.06.2016
comment
в pluckr все работает нормально, это должно быть что-то зарыто глубоко внутри проекта (это было настроено с помощью angular-cli). Это происходит только тогда, когда я перехожу к URL-адресу, который загружает подкомпонент.   -  person Tobias Gassmann    schedule 07.06.2016


Ответы (2)


  • добавьте <router-outlet> там, где его ожидает маршрутизатор ;-)
  • убедитесь, что вы не предоставляете ROUTER_PROVIDERS более одного раза в своем приложении (либо только в корневом компоненте, либо только в bootstrap())
  • не добавляйте *ngIf* к <router-outlet> или к родителю <router-outlet>

См. также https://github.com/angular/angular/issues/8539.

person Günter Zöchbauer    schedule 07.06.2016

Я нашел это:

Компонент, в котором размещается подкомпонент, должен объявить

directives: [ROUTER_DIRECTIVES],

иначе не распознается, как кажется.

person Tobias Gassmann    schedule 07.06.2016