Когда использовать угловые директивы, компоненты и модули - PullRequest
2 голосов
/ 08 мая 2019

Я читал документацию, но все еще, кажется, запутался, когда вам следует использовать директиву или компонент ...

Кроме того, когда лучше абстрагировать компоненты и поместить их в модули?

1 Ответ

3 голосов
/ 08 мая 2019

Фактически, компонент также является типом директивы в соответствии с угловыми документами.

В Angular существует три вида директив:

1. Components—directives with a template.
2. Structural directives—change the DOM layout by adding and removing DOM elements.
3. Attribute directives—change the appearance or behavior of an element,
   component, or another directive.

Вы используете компоненты , когда требуется создать повторно используемую группу HTML-элементов. Например, если вам необходимо создать экран CRUD, вы создаете компонент, который включает в себя таблицу, кнопки сохранения, редактирования, удаления и так далее. Угловой экран также является компонентом или может состоять из нескольких компонентов.

Если вы хотите легко изменить стиль или структуру существующего компонента или элемента, который вы используете , директивы . Подумайте о * ngFor, это структурная директива, и она используется для структурирования группы элементов. Вы также можете использовать директивы для предоставления дополнительных функций существующим компонентам. Например, вы можете создать директиву, обеспечивающую фильтрацию или поддержку экспорта в компонент таблицы.

Кроме того, когда лучше абстрагировать компоненты и поместить их в модули ??

Размещение компонентов и т. Д. В разных модулях - это модульность . Таким образом, вы можете группировать вещи, которые имеют отношение друг к другу, и повторно использовать их, импортируя их, когда они необходимы. Вы импортируете http-client-module, когда вам требуется, например, http-вызовы, этот модуль содержит http-клиента и связанный с ним материал. Еще одним преимуществом модулей является то, что вы можете уменьшить первоначальный размер вашего приложения, лениво загружая ваши модули, что означает, что если вы поместите свой компонент в лениво загруженный модуль, он будет загружен только тогда, когда он необходим (должен использоваться / показан) на экране

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...