@bormor

Как в Angular настраивается область видимости компонентов в нескольких модулях (на небольшом примере кода)?

Работаю с Angular, после React. Некоторые моменты непривычны

Вопрос:
Есть компонент, в его html шаблоне используют другой компонент, которые НЕ подлючен в angular модуле этого блока функциональности.
Зато этот общий компонент указан в shared.modules.js в блоке exports.

Правильно ли я понимаю:
компоненты указнные в ng модуле в блоке declarations - будут видимы только в компонентах этого модуля
компоненты указнные в ng модуле в блоке exports - будут видимы в компонентах тех модулей, которые импортируют модуль с exports?

Код для иллюстрации
ссылка на github в компонент
ссылка на github в shared.modules.js
// article.component.html
<div class="article-page">

  <div class="banner">
    <div class="container">
      <h1>{{ article.title }}</h1>

      <app-article-meta [article]="article">  // где это подключается?

      </app-article-meta>
    </div>
  </div>

// article-module.js
...
@NgModule({

  declarations: [  // в коде этого модуля компонент не объявляется
    ArticleComponent,
    ArticleCommentComponent, 
    MarkdownPipe
  ],

})
export class ArticleModule {}


// shared.module.ts
...
@NgModule({

  exports: [  // зато компонент указан в exports этого модуля
    ArticleMetaComponent,
    ...
  ],

})
export class ArticleModule {}
  • Вопрос задан
  • 204 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы