91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Angular4項目中對依賴進行注入

發布時間:2021-01-16 10:42:22 來源:億速云 閱讀:124 作者:Leah 欄目:web開發

這期內容當中小編將會給大家帶來有關怎么在Angular4項目中對依賴進行注入,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

一、注入器

Angular中的注入器只有一種實現方法就是在構造函數中聲明。

例如在一個組件中

constructor(productService: ProductService){}

通俗的講這段代碼的意思就是說,這個組件創建了一個productService,而這個productService是依賴ProductService的,這里的ProductService只是一個token,至于ProductService 是什么,是怎么實現的,全都是由提供器說明的。

二、提供器

通常提供器定義在應用級,及app.module.ts中,供所有組件或服務使用,當然也可以定義在某一個組件中,只供這一個組件使用。

我們以定義在應用級為例:

@NgModule({
  provides:[ProductService]
})

這段代碼其實這一個簡寫,全寫為:

@NgModule({
  provides:[{
    provide: ProductService,
    useClass:ProductService
  }]
})

這段代碼中的provide聲明的就是我們剛剛在注入器中提過的token,就是說這兩個token是一一對應的,Angular會到提供器中找到和注入器相同的token.

代碼中的useClass是實例化ProductService類,及我們幫助我們new 了一個類出來。除了useClass外,比較常用的還用useFactory,使用工廠模式實例化一個類。

這時候我們在組件中就可以直接使用ProductService類中的方法了。

當token和想要實例化的類名字相同時,我們就可以使用上面那種簡寫的方法。

說了這么多,那到底怎么才能體現出可復用性呢?

如果現在我們的product組件用到了另一個地方需要使用另一個服務,我們命名為AnotherProductService。有了依賴注入我們就不必要更改組件,而是更改app.module.ts中的提供器:

@NgModule({
  provide: ProductService,
  useClass: AnotherProductService
})

從這段代碼可以看出,token并沒有改變,可是這是實例化的類變為了AnotherProductService。

總結來說,當組件在構造函數中說明自己想要依賴一個類時,Angular首先會在這個組件自身找有沒有提供器,如果沒有就去這個組件的父組件中找,如果也沒有找到就去應用級(app.module.ts)中找。找到后,就會按照提供器可說明的為組件注入它想要的。

上述就是小編為大家分享的怎么在Angular4項目中對依賴進行注入了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

余姚市| 连平县| 上蔡县| 镇宁| 同心县| 承德县| 翁牛特旗| 长沙县| 赤壁市| 老河口市| 松江区| 尉氏县| 门源| 高碑店市| 京山县| 襄汾县| 平远县| 西城区| 英吉沙县| 仙游县| 开远市| 葫芦岛市| 华容县| 泸水县| 达日县| 山丹县| 梅河口市| 南阳市| 新蔡县| 杂多县| 胶南市| 金堂县| 白朗县| 广汉市| 龙岩市| 明光市| 勃利县| 天镇县| 南川市| 桐乡市| 海城市|