本篇文章為大家詳細介紹一下Angular中的依賴注入模式。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。
依賴注入: Dependency Injection 簡稱DI
開發中, 會經常遇見物件的實例化, 當多個物件之間存在依賴時, 手動實例化會特別麻煩。
如果一個物件A要依賴物件 B, 那麼物件 A 就不需要明確地去實例化B對象, B 會由外部機制注入進來, 物件 A 只需要宣告一個B物件就行。這就是依賴注入要解決的問題。
與依賴注入經常同時出現的另一個概念叫做控制反轉。
控制反轉: Inversion of Control 簡稱 IOC, 是指將依賴的控制權從程式碼的內部反轉到程式碼的外部。
依賴注入和控制反轉是一體兩面,表達的是一個想法。 依賴注入著重於描述手段, 即如何實現控制反轉, 控制反轉著重於描述目的, 即目的是將依賴的控制權從程式碼的內部反轉到程式碼的外部。
相關教學推薦:《angular教學》
將元件所需的物件注入進組件。提供器會告訴注入器如何建立實例。
提供器providers:[{provide:AService, useClass: AServivce}] <=> providers:[AService] provide 属性:指定了提供器的令牌(token) useClass 属性:表示实例化方式是 new
使用 useFactory 方式实例化对象 providers:[ { provide:AService, useFactory: (bService: BService) => { .... }, deps:[BService] //deps声明工厂方法所依赖的服务。 ] 工厂方法创建的对象是单例对象在建構函式(constructor)中宣告的對象,會根據類別名稱去匹配提供者(providers)中的令牌(token),然後根據useClass 屬性的值去實例化指定的物件。
以上是詳解Angular中的依賴注入模式的詳細內容。更多資訊請關注PHP中文網其他相關文章!