Внедрение зависимостей — это возможность добавлять функциональность компонентов во время выполнения. Давайте посмотрим на пример и шаги, используемые для реализации внедрения зависимости.
Шаг 1 — Создайте отдельный класс с декоратором для инъекций. Инъецируемый декоратор позволяет вводить функциональные возможности этого класса и использовать их в любом модуле Angular JS.
@Injectable() export class classname { }
Шаг 2 — Затем в вашем модуле appComponent или в модуле, в котором вы хотите использовать сервис, вам нужно определить его в качестве провайдера в декораторе @Component.
@Component ({ providers : [classname] })
Давайте рассмотрим пример того, как этого добиться.
Шаг 1 — Создайте ts- файл для сервиса app.service.ts.
Шаг 2 — Поместите следующий код в файл, созданный выше.
import { Injectable } from '@angular/core'; @Injectable() export class appService { getApp(): string { return "Hello world"; } }
Следующие пункты должны быть отмечены о вышеупомянутой программе.
-
Инъекционный декоратор импортируется из углового / основного модуля.
-
Мы создаем класс appService, украшенный декоратором Injectable.
-
Мы создаем простую функцию с именем getApp, которая возвращает простую строку с именем «Hello world».
Инъекционный декоратор импортируется из углового / основного модуля.
Мы создаем класс appService, украшенный декоратором Injectable.
Мы создаем простую функцию с именем getApp, которая возвращает простую строку с именем «Hello world».
Шаг 3 — В файле app.component.ts поместите следующий код.
import { Component } from '@angular/core'; import { appService } from './app.service'; @Component({ selector: 'my-app', template: '<div>{{value}}</div>', providers: [appService] }) export class AppComponent { value: string = ""; constructor(private _appService: appService) { } ngOnInit(): void { this.value = this._appService.getApp(); } }
Следующие пункты должны быть отмечены о вышеупомянутой программе.
-
Сначала мы импортируем наш модуль appService в модуль appComponent.
-
Затем мы регистрируем сервис в качестве поставщика в этом модуле.
-
В конструкторе мы определяем переменную с именем _appService типа appService, чтобы ее можно было вызывать в любом месте модуля appComponent.
-
Например, в жизненном цикле ngOnInit мы вызвали функцию getApp службы и присвоили вывод свойству value класса AppComponent.
Сначала мы импортируем наш модуль appService в модуль appComponent.
Затем мы регистрируем сервис в качестве поставщика в этом модуле.
В конструкторе мы определяем переменную с именем _appService типа appService, чтобы ее можно было вызывать в любом месте модуля appComponent.
Например, в жизненном цикле ngOnInit мы вызвали функцию getApp службы и присвоили вывод свойству value класса AppComponent.
Сохраните все изменения кода и обновите браузер, вы получите следующий вывод.