Импорт на уровне модуля позволяет вам объявить этот модуль как зависимость вашего модуля, следовательно, он может использовать его поставщиков, директивы, каналы и другие элементы в ваших шаблонах.
Импорт на уровне компонента позволяет вамиспользуйте эти классы в вашем коде машинописи.
Дальнейшее объяснение
При угловом импорте модуль «сливает» этот модуль так, что при компиляции шаблона он распознает элементы шаблона(компоненты, директивы и трубы) в качестве угловых элементов.
В машинописном и javascript для использования кода (классы, функции, константы), который объявлен в другом файле или модуле, вам необходимо импортировать его, в узле вы используете функцию require()
, в машинописном тексте import from
выражение.
Поэтому, если вы посмотрите на свой код, вы поймете, что импортируете две разные вещи, модуль и класс, первый для объединения этого модуля, а второй для использования этого класса. \
Обновление
В машинописном тексте можно иметь файлы index , которые обычно используются для экспорта элементов без необходимости углубляться в структуру папок.файл для '@ angular / forms' экспортирует следующее (среди прочего):
export {AbstractControl, AbstractControlOptions, FormArray, FormControl, FormGroup} from './model';
export * from './form_providers';
, где form_providers
имеет объявление FormsModule
и ReactiveFormsModule
.
Следовательно, вы можете импортировать как ваш модуль, так и ваши классы из одного файла.