Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 1359|Отговор: 1

[Ъглова] Кратко въведение на Ъглова серия 18 (Двадесет и осем) InjectionToken

[Копирай линк]
Публикувано на 2024-12-20 16:02:20 | | | |
Angular е популярна JavaScript рамка за фронт-енд, която предоставя мощен начин за създаване на едностранични приложения (SPA). В Angular, инжекцията на зависимости (DI) е ключова функция, която ни позволява ефективно да управляваме зависимости в нашите приложения. Системата за инжектиране на зависимости на Angular използва InjectionTokens за реализиране на определени специални изисквания за инжектиране на зависимости. В тази статия ще обясня подробно какво прави InjectionToken и ще дам примери, които илюстрират практическото му приложение в приложенията на Angular.

Какво е инжекция на зависимост?

Преди да се потопим в InjectionToken, нека първо разберем какво е dependency injection. Инжекцията на зависимости е дизайн модел, който ни позволява да инжектираме зависимости на един обект (например услуги или конфигурации) в друг обект, без да ги кодираме твърдо. Ползите от това включват:

1. Поддържаемост: Чрез инжектиране на зависимости в компоненти можем лесно да променяме тези зависимости без да се налага да променяме обширен код.
2. Тестируемост: Можем лесно да предоставим симулирани зависимости за компоненти за unit тестване, без реално да създаваме инстанции на тези зависимости.
3. Свободно свързване: Инжекцията на зависимост ни помага да постигнем разхлабено свързване, което прави връзките между отделните компоненти по-гъвкави.

В Angular инжектирането на зависимости е вградено, а контейнерът за инжектиране на зависимости на Angular отговаря за управлението на създаването и жизнения цикъл на зависимостите.

Защо ти трябва InjectionToken?

Понякога трябва да инжектираме зависимостиНе е екземпляр на клас, а конфигурационен елемент, низ или друга некласова стойност。 Тук идва InjectionToken, който ни позволява да инжектираме некласови стойности в компоненти или услуги като зависимости.

Какво прави InjectionToken?

Ролята на InjectionToken е да дефинира идентификатор, който идентифицира зависимости. Позволява ни да инжектираме всяка стойност в Angular компонент или услуга, а не само в екземпляр на клас. Обикновено създаваме InjectionToken някъде в приложението и го използваме там, където трябва да инжектираме тази стойност.

Ето основните функции на InjectionToken:

1. Уникална идентификация: InjectionToken е уникален идентификатор, който гарантира уникалността на зависимостите. Това е важно, за да се предотврати объркване или конфликти в зависимостите.
2. Инжекция на зависимости без клас: InjectionToken ни позволява да инжектираме всяка стойност, а не само екземпляр на клас. Това е полезно в ситуации като конфигурации, константи, низове и др.
3. Конфигурация на доставчика: Чрез конфигурация на доставчика можем да кажем на Angular как да предостави инстанция на зависимостта за InjectionToken. Това ни позволява да предоставяме различни стойности за InjectionTokens в различни контексти.

Сега нека разгледаме употребата и ролята на InjectionToken с някои примери.

Инжектирай конфигурацията на приложението

Например, инжектираме конфигурация на приложението с URL адрес и име на средата, и кодът е следният:


От инжекцията на конструктора, разпечатката е следната:



Препратка:

Входът към хиперлинк е видим.
Входът към хиперлинк е видим.




Предишен:.NET/C# конзолните услуги са регистрирани чрез откриване на услуги Consul
Следващ:Обадете се на Alibaba Cloud OpenAPI API, за да получите използване на сървъра
 Хазяин| Публикувано на 2025-2-17 13:36:08 |
InjectionToken и BehaviourSubject се комбинират, за да изградят глобална динамична стойност




Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com