2013-05-11 30 views
47

由於$injector(服務)的官方文檔解釋不足,我很難理解它是如何工作的。每個應用程序可能有多少個$injector?我應該什麼時候使用它? $injector如何工作? (等等)請給我一個真實世界的解釋和一些JavaScript沙箱樣本。

+1

你需要更具體。 – TheHippo 2013-05-11 17:28:28

+3

這個網站不是關於要求交付給你的代碼,而是關於你提供的代碼,你有問題,需要 – charlietfl 2013-05-11 18:46:35

+3

FWIW的幫助,我發現這個問題的答案很有幫助。作爲一個新角色的人,我很高興它被問及回答。對我來說,這似乎是一個真正的問題。 – clearf 2016-08-25 23:14:58

回答

57

每個Angular應用程序都有一個噴油器。通常你不需要直接與它進行交互。注入器是在Angular中進行依賴注入工作的關鍵。

模塊方法如factory,service,directive等註冊這些項目的注射器。當你注入某些東西(例如,一個服務到控制器中)時,注入器將查找並實例化服務(如果它尚未實例化 - 如果是的話,它將返回已經實例化的對象)。

如果出於某種原因,您確實需要動態地將服務注入控制器,請參閱https://stackoverflow.com/a/14418384/215945以獲取如何實現該操作的示例。另請參閱https://stackoverflow.com/a/14743553/215945

+6

比doc更好的說明。 – Ankita 2015-10-07 09:56:55