最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談Angular6的服務和依賴注入

 更新時間:2018年06月27日 13:43:14   作者:chenqiao  
這篇文章主要介紹了淺談Angular6的服務和依賴注入,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

在開發(fā)中,組件一般用來寫視圖有關的功能,服務則寫一些其他的邏輯,諸如從服務器獲取數(shù)據(jù)、驗證用戶輸入或直接往控制臺中寫日志等工作.

先解釋兩個概念:

  1. Providers(提供商):是個比較抽象的名詞,我們把它想象為'圖紙'更好理解一些,就比如我們想要生產(chǎn)汽車,就需要先有汽車的圖紙,圖紙上記錄了生產(chǎn)工藝和材料尺寸之類,這樣汽車才生產(chǎn)的出來.provider通常就是自己寫的服務類.
  2. Injector(注入器):就是字面上的意思,將某一類事物注入到另一類事物中的工具.angular應用在啟動時,會自動創(chuàng)建.

假想一個去醫(yī)院看病的過程:

找醫(yī)生看病判斷病情,醫(yī)生開處方 --> 處方交給護士 --> 護士小姐姐根據(jù)處方給你注射藥物.

這里醫(yī)生開的處方是providers,將處方交給護士則是將providers注冊到injector,護士小姐姐是injector

angular中有很多方式可以將providers注冊到injector:

@Injectable 裝飾器

在服務類的 @Injectable 裝飾器中

  //service
  @Injectable({
    providedIn: 'root',
  })

providedIn: 'root' 告訴 Angular在根注入器中注冊這個圖紙.root 還可以是某一個具體的模塊名.

這種方式注冊,在代碼編譯打包時,可以執(zhí)行搖樹優(yōu)化,這會移除所有沒在應用中使用過的服務。搖樹優(yōu)化會使打包體積更小。

@NgModule 中的 providers

在模塊的 @NgModule

  //service
  @Injectable()
  //module
  @NgModule({
    providers: [
      UserService,
      { provide: APP_CONFIG, useValue: HERO_DI_CONFIG }
    ],
  })

這種方式注冊,可以對圖紙進行一些額外的配置.

note:在@NgModule中注冊的服務,在圖紙中也需要寫@Injectable()裝飾器

在組件中注冊

在組件的 @Component 中

  @Component({
  selector: 'app-heroes',
  providers: [ HeroService ]

這種方式注冊,會注冊到每個組件實例自己的注入器上。(多個組件會有多個注入器)

note:服務在每個注入器的范圍內(nèi)是單例的。 在任何一個注入器中,最多只會有同一個服務的一個實例。

不提供圖紙

最常見的圖紙是class,但是在配置providers: []時,也可以不提供class圖紙,而是返回對象的工廠函數(shù),或是對象字面量[{ provide: Logger, useClass: Logger }]

也可以使用useValue屬性直接交付一個對象實例,[{ provide: Logger, useValue: silentLogger }]

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Angular學習筆記之a(chǎn)ngular的$filter服務淺析

    Angular學習筆記之a(chǎn)ngular的$filter服務淺析

    本文是小編記錄的angular學習筆記,通過本文首先給大家介紹了$filter服務,然后介紹下內(nèi)置filter及filter的簡單使用,非常不錯具有參考借鑒價值,感興趣的朋友一起看看吧
    2016-11-11
  • 最棒的Angular2表格控件

    最棒的Angular2表格控件

    最好的Angular2表格控件,滿足更小、更快、更熟悉的基本要求,感興趣的小伙伴們可以參考一下
    2016-08-08
  • Angularjs中date過濾器失效的問題及解決方法

    Angularjs中date過濾器失效的問題及解決方法

    這篇文章主要介紹了Angularjs中date過濾器失效的問題及解決方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-07-07
  • angular第三方包開發(fā)整理(小結)

    angular第三方包開發(fā)整理(小結)

    本篇文章主要介紹了angular第三方包開發(fā)整理(小結),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • AngularJS刪除路由中的#符號的方法

    AngularJS刪除路由中的#符號的方法

    這篇文章主要介紹了AngularJS刪除路由中的#符號的方法的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • 簡介AngularJS的HTML DOM支持情況

    簡介AngularJS的HTML DOM支持情況

    這篇文章主要介紹了AngularJS的HTML DOM支持情況,包括ng-hide和ng-click指令的使用,需要的朋友可以參考下
    2015-06-06
  • AngularJs基于角色的前端訪問控制的實現(xiàn)

    AngularJs基于角色的前端訪問控制的實現(xiàn)

    本篇文章主要介紹了AngularJs實現(xiàn)基于角色的前端訪問控制,可以適用于不同的角色,有需要的可以了解一下。
    2016-11-11
  • 詳解angular如何調(diào)用HTML字符串的方法

    詳解angular如何調(diào)用HTML字符串的方法

    這篇文章主要介紹了詳解angular如何調(diào)用HTML字符串的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • Angular在模板驅(qū)動表單中自定義校驗器的方法

    Angular在模板驅(qū)動表單中自定義校驗器的方法

    本章介紹的是如何對模板驅(qū)動表單創(chuàng)建自定義校驗器,它相比較響應式表單自定義校驗器略為復雜一些。接下來通過本文給大家分享Angular在模板驅(qū)動表單中自定義校驗器的方法,感興趣的朋友一起看看吧
    2017-08-08
  • angular中如何綁定iframe中src的方法

    angular中如何綁定iframe中src的方法

    這篇文章主要介紹了angular中如何綁定iframe中src的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02

最新評論

观塘区| 长泰县| 栖霞市| 普兰县| 德惠市| 家居| 台南县| 隆安县| 普兰县| 芦山县| 永清县| 独山县| 北川| 万安县| 浦北县| 青浦区| 凌海市| 江津市| 桃江县| 石河子市| 贞丰县| 通江县| 临高县| 河东区| 宁海县| 五河县| 宁蒗| 肃宁县| 陇南市| 伊春市| 通渭县| 西平县| 富源县| 龙江县| 尼木县| 濮阳市| 高密市| 汉源县| 张家口市| 海盐县| 高安市|