2016-12-06 3 views
2

У меня есть компонент «A», который добавляется в модуль M1 и экспортируется , который лениво загружается, Теперь у меня есть еще один модуль M2, который имеет компонент «B» ', который использует (селектор)Угловой 2: Как экспортировать компонент Lazy Loaded Module

Итак, как M1 ленив загруженным Я получаю ошибку как

Компонент A не является частью любого NgModule

+0

да это то, что вы получите. если вам нужно разделить общую функциональность, вы должны создать для нее сервис и добавить эту услугу в основной модуль, и все эти ленивые модули смогут ее использовать. –

ответ

1

Что вы должны сделать, это создать еще один модуль, который вы можете назвать SharedModule. Экспортируем компонент A с сайта SharedModule. Затем импортировать SharedModule в обоих M1 и M2

+0

Да, но все общие будут загружены, а не лениво. Есть ли альтернатива? – sudhir

+0

Верю, что нет. Но я думаю, что то, чего вы пытаетесь достичь, отличается. Вы хотите использовать компонент A в M2, который, я считаю, не ленивый. Поэтому вам нужен компонент A, т. Е. Без ленивой загрузки. Это цель создания SharedModule. –

+0

На самом деле M2 также загружен лази. – sudhir

0

добавить свой компонент «A» в декларациях модуль М2 в

@NgModule({ 
    imports:  [ 
    SharedModule 
    ], 
    declarations: [ componentB, componentA ], 
    exports: [ componentB ] 
}) 
export class moduleM2 { } 
+0

Спасибо. Вы не можете объявить компонент в двух разных модулях – sudhir

+0

это в общий модуль – anshuVersatile

 Смежные вопросы

  • Нет связанных вопросов^_^