Dieser Artikel gibt Ihnen eine detaillierte Einführung in den Abhängigkeitsinjektionsmodus in Angular. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein. „Angular-Abhängigkeitsinjektionsmodus“ Bei mehreren Objekten kann die manuelle Instanziierung besonders problematisch sein, wenn Abhängigkeiten zwischen ihnen bestehen.
Wenn ein Objekt A von Objekt B abhängt, muss Objekt A nicht explizit durch einen externen Mechanismus instanziiert werden. Objekt A muss nur ein B-Objekt deklarieren. Dies ist das Problem, das die Abhängigkeitsinjektion löst.
Ein weiteres Konzept, das oft zusammen mit der Abhängigkeitsinjektion auftritt, heißtInversion of Control: Inversion of Control, auch IOC genannt, bezieht sich auf die Umkehrung der abhängigen Kontrolle von der Innenseite des Codes zur Außenseite des Codes.
Abhängigkeitsinjektion
konzentriert sich auf die Beschreibung der Mittel, d die Außenseite des Codes. Empfohlene verwandte Tutorials: „Angular Tutorial“
Die Vorteile des Abhängigkeitsinjektionsmodus
Lose Kopplung, wiederverwendbarVerbessern Sie die Testbarkeit von KomponentenWie Angular die Abhängigkeitsinjektion implementiert
Jede Komponente verfügt über eine Injektorinstanz, die für die Injektion der von der Komponente benötigten Objekte verantwortlich ist. Der Injektor ist eine von Angular bereitgestellte Serviceklasse. Unter normalen Umständen ist es nicht erforderlich, die Injektormethode direkt aufzurufen. Der Injektor injiziert die von der Komponente benötigten Objekte automatisch über denproviders:[{provide:AService, useClass: AServivce}] <=> providers:[AService] provide 属性:指定了提供器的令牌(token) useClass 属性:表示实例化方式是 new
使用 useFactory 方式实例化对象 providers:[ { provide:AService, useFactory: (bService: BService) => { .... }, deps:[BService] //deps声明工厂方法所依赖的服务。 ] 工厂方法创建的对象是单例对象
Provider-Injection-Regeln
Wenn ein Provider in einer Komponente deklariert ist, ist er nur für alle sichtbar Komponenten, die es deklarieren Komponenten und Unterkomponenten sind sichtbar, aber andere Komponenten sind nicht sichtbar
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Abhängigkeitsinjektionsmusters in Angular. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!