ВЕСЬ ANGULAR ЗА ЧАС

YOUTUBE · 26.11.2025 05:30

Ключевые темы и таймкоды

Введение в Angular

0:00
  • Angular - это инкрементальный дом, в отличие от виртуального дома.
  • В Angular нет промежуточного звена, операции модифицируют ноты напрямую.
  • Используются зон джес и механизм детекшн для отслеживания синхронных взаимодействий.

Производительность и компиляция

1:22
  • В Angular есть движки Ivy и Jet для повышения производительности.
  • Виды компиляции: тайм-компиляция и джип-компиляция.
  • По умолчанию используется джип-компиляция, но можно включить тайм-компиляцию для буста производительности.

Модули и компоненты

2:21
  • Корневая часть Angular - модуль, в котором подключаются зависимости и компоненты.
  • Модуль может подключать другие модули, включая модуль роутинга.
  • Компонент содержит логику работы с данными и стилями.

Сервисы и пайпы

4:22
  • Сервисы работают с бизнес-логикой и ресурсами.
  • Пайпы трансформируют значения, например, преобразуют наименование продукта.

Директивы

5:16
  • Директивы изменяют логику поведения компонентов и тегов.
  • Атрибутивные директивы работают с конкретными компонентами или тегами.
  • Структурные директивы изменяют структуру ресурса, на котором расположен компонент.

Гварды и интерцепторы

7:09
  • Гварды защищают роутинг, ограничивая доступ к страницам.
  • Интерцепторы позволяют модифицировать запросы до и после их выполнения.

Генерация кода

9:44
  • Для генерации кода используется инструмент ng generate.
  • Можно сгенерировать модуль, сервис или новое приложение.
  • Пример генерации кода показан в видео.

Структура проекта

10:44
  • Основные файлы: тест-конфигурация, karma.json, angular.json.
  • Корневая часть: main.ts, где запускается платформа.
  • Внедрение зависимостей: компонент работает с платежкой, внедряется зависимость.

Внедрение зависимостей

11:39
  • Пример с платежкой PayPal: внедрение зависимости для избежания переписывания кода.
  • Механизм внедрения зависимостей: DI Container, Inversion of Control.
  • Возможность подмены зависимостей в модулях.

Структура приложения

12:34
  • Основные части: модуль, компонент, spec-файл, тесты, css, html, роутинг.
  • Декораторы в модулях: декларс, импорты, провайдеры.
  • Экспорт компонентов и модулей наружу.

Компоненты и стили

14:28
  • Компоненты: селектор, темплейт, стили.
  • Внедрение зависимостей в конструкторе компонента.
  • Стили и структура представления.

Сервисы

16:27
  • Сервисы: класс с декоратором Inject.
  • Провайдеры: провайдер-эни, провайдер-рут, провайдер-платформы.
  • Создание уникальных сервисов при каждом запросе.

Роутинг

17:24
  • Роутер-модуль: импорт, роуты, гварды.
  • Ленивая подгрузка модулей.
  • Гварды: проверка условий для перехода на страницу.

Гварды

19:19
  • Гварды: true или false, внедрение зависимостей.
  • Пример работы гвардов: редирект при false, переход при true.
  • Проверка условий для корректного роутинга.

Работа с роутингом

20:51
  • Переход на тус и его вложенность.
  • Подгрузка модуля и настройка роутов.
  • Корневая часть компонента и динамические параметры.

Компоненты и модули

21:46
  • Различие между корневыми и не корневыми компонентами.
  • Модули для работы с ашпи и роботом.
  • Вьюжные компоненты и директивы.

Работа с провайдерами

22:46
  • Передача провайдеров и сервисов.
  • Параметры: юс класс, юс экзистинг, юз.
  • Внедрение зависимостей и работа с сервисами.

Цепочка внедрения зависимостей

23:45
  • Внедрение зависимостей через факторе.
  • Вычисление и возврат сервисов.
  • Пример работы с интерцепторами и мульти-параметром.

Работа с извел

25:44
  • Передача значений в юз.
  • Проблемы с передачей строк и значений.
  • Пересечение и уникальность строковых значений в приложении.

Инжекшен токен

26:05
  • Инжекшен токен создает уникальную подпись для компонента.
  • Использование строки вместо токена некорректно.
  • Инжекшен токен позволяет корректно инжектировать зависимости.

Компоненты и жизненный цикл

27:05
  • Компоненты реализуют интерфейс с методами жизненного цикла.
  • Методы жизненного цикла включают OnInit, Check, и Active.
  • Детекшн отслеживает асинхронные взаимодействия и запускает перерисовку.

Работа с HTTP клиентом

28:03
  • В Angular используется HTTP клиент для работы с запросами.
  • Модуль HTTP клиента нужно импортировать, а не внедрять.
  • Запросы выполняются через сабскрайп.

Сигналы и обзерверы

29:00
  • Сигналы позволяют работать с обзерверами и обзервер объектами.
  • Обзерверы наблюдают за объектами и получают значения.
  • Сигналы и обзерверы работают вместе, но можно использовать и по отдельности.

Внедрение зависимостей

29:52
  • Внедрение сервисов и токена через декоратор Inject.
  • В новых версиях Angular можно использовать другие записи для инжекции.
  • Важно понимать, как правильно использовать инжекцию.

Сервисы и их использование

30:49
  • Root сервис создается один раз для всего приложения.
  • Entity сервис создается для каждой части приложения.
  • Внедрение сервисов происходит в зависимости от их типа.

Интерцепторы

32:47
  • Интерцепторы перехватывают события до и после запроса.
  • В интерцепторах можно добавлять токены авторизации и получать ответы.
  • Интерцепторы работают с обзервер объектами.

Работа с директивами

34:17
  • Директивы обрабатывают события и передают переменные.
  • Атрибутивные директивы передаются через атрибуты, структурные директивы через звездочку.
  • Структурные директивы изменяют структуру компонента и создают темплейты.

Контейнер и структурные директивы

36:51
  • Контейнер используется для наложения двух структурных директив на атрибут.
  • На один тег нельзя навесить две структурные директивы.
  • Для этого используется контейнер и структурные директивы.

Передача контента в компонент

37:49
  • Контент передается в компонент через селектор.
  • Компонент должен иметь обязательные параметры: тайтл и юзер айди.
  • Для получения параметров из родительского компонента используется декоратор импут.

Двусторонняя привязка данных

38:49
  • В Angular и Vue возможна двусторонняя привязка данных.
  • В отличие от React, где привязка односторонняя.
  • Пример вывода данных с использованием скобочек.

Передача значений между компонентами

39:48
  • Для передачи значений из дочернего компонента в родительский используется аутпут.
  • Пример с кликом и передачей значения через эвент.
  • В родительском компоненте эвент обрабатывается и выводится значение.

Работа с элементами и контентом

41:44
  • В Angular работа с элементами осуществляется через контент.
  • Для получения элемента по названию используется контент чалд.
  • Для работы с вложенными элементами используется вью чайлд.

Декораторы для работы с контентом

43:36
  • Для работы с несколькими элементами используется контент кварли.
  • Пример передачи нескольких текстов и их обработки.
  • Декораторы вью чайлд и контент чалд помогают управлять вложенными элементами.

Введение в пайпы

44:40
  • Пайпы позволяют модифицировать значения.
  • Пример с трансформом пайпа: добавление 1000 к значению.
  • Аргументы передаются через двойные двоеточия.

Работа с объектами и ссылками

45:36
  • Объекты имеют ссылки и значения.
  • Изменение ссылки и значения может привести к рассинхрону.
  • Пример изменения объекта без изменения ссылки.

Имп и пьюр пайпы

46:31
  • Имп пайпы изменяют значение, а не ссылку.
  • Пьюр пайпы отслеживают изменения по значению.
  • Пьюр пайпы могут нагружать систему при частых изменениях.

Атрибутивные и структурные директивы

49:16
  • Атрибутивные директивы изменяют компонент.
  • Структурные директивы изменяют структуру компонента.
  • Пример создания атрибутивной директивы с селектором и классом.

Хозбадинг и хостлисанер

50:15
  • Хозбадинг изменяет стиль компонента при навешивании директивы.
  • Хостлисанер отслеживает события, например, клик.
  • Пример отслеживания клика и изменения цвета.

Структурные директивы

52:14
  • Структурные директивы работают со структурой компонента.
  • Необходимы зависимости для работы со структурой.
  • Пример создания структурного компонента и обработки событий.

Заключение

54:29
  • Обзор некоторых моментов Angular 17.
  • Рекомендация перейти на телеграм-канал для более подробной информации.

Работа с темплейтами

54:45
  • Введение в работу с темплейтами в зависимости от условий.
  • Пример изменения темплейта при изменении значения аккаунта.
  • Использование структурных директив для переключения темплейтов.

Жизненный цикл компонента

56:40
  • Проверка состояния компонента: чек, контент-чек, вьючек.
  • Отключение зон джесса для оптимизации производительности.
  • Синхронная перерисовка при изменении числовых значений.

Изменение детекшн

58:34
  • Использование ченч детекшн для обновления компонентов.
  • Проблемы с перерисовкой при частых обновлениях.
  • Различие между умными и глупыми компонентами.

Работа с формами и импутами

59:33
  • Введение в форм с модуль и его использование.
  • Двустороннее связывание значений и событий.
  • Обработка событий и изменение значений в компоненте.

Использование стора

1:03:25
  • Введение в стор для передачи данных между компонентами.
  • Пример использования экшенов и редюсеров.
  • Работа с эффектами для асинхронного взаимодействия.

Улучшения в Angular 17

1:05:13
  • Улучшения в работе с SSR.
  • Новые возможности в Angular 17.

SSR и клиентский рендеринг

1:05:34
  • SSR Server-Side Rendering рендерит страницу на сервере.
  • Клиентский рендеринг рендерит страницу на клиенте.
  • В Angular 17 SSR и клиентский рендеринг работают корректно.

Изменения в Angular 17

1:06:32
  • Новое написание интерфейсов IFS через декораторы.
  • Введение отложенной загрузки составных частей с помощью defer.
  • Улучшение взаимодействия с билдингом и производительности.

Сигналы и инжектирование

1:07:32
  • Введение сигналов для упрощения работы с эффектами.
  • Возможность инжектирования составных частей.
  • Появление standalone компонентов, упрощающих взаимодействие.

Декораторы и сервисы

1:08:30
  • Декораторы host, self, skipSelf для управления сервисами.
  • Выбор сервиса в зависимости от его расположения.
  • Подробное объяснение в телеграм-канале автора.

Заключение

1:09:29
  • Обзор основных изменений в Angular 17.
  • Призыв подписаться на телеграм-канал для дополнительной информации.
  • Завершение видео с просьбой поставить лайк и подписаться.