angular2 的依賴(lài)注入包含了太多的內(nèi)容,其中的一個(gè)重點(diǎn)就是注入器,而注入器又非常難理解,今天我們不深入介紹注入器的內(nèi)容,可以參考官方文檔,我們今天來(lái)說(shuō)注入器的層級(jí)。
也就是組件獲取服務(wù)的容器會(huì)選擇具體哪一個(gè)。
先簡(jiǎn)單介紹一個(gè)背景:有3個(gè)組件AppComponent 根組件、DetailList組件 ( 日志列表組件)、Detail組件( 日志組件)。
這三個(gè)組件會(huì)形成一個(gè)組件樹(shù),對(duì)應(yīng)的我們也可以認(rèn)為每個(gè)組件都會(huì)有一個(gè)獨(dú)立的注入器(有時(shí)候不會(huì)出現(xiàn),但是可以這么認(rèn)為)。
加入一個(gè)日志服務(wù)LoggerService,如果按照我們普通的入門(mén)方式,在根模塊providers 中提供LoggerService。那么在整個(gè)應(yīng)用程序中,LoggerService只有一個(gè)實(shí)例,什么意思呢?就是說(shuō)無(wú)論在哪個(gè)組件,獲取到的都是首次創(chuàng)建的LoggerService,所有組件共用一個(gè)服務(wù)實(shí)例,這有時(shí)候會(huì)是一個(gè)有用的特性,比如我們使用的全局配置。
全局唯一不是我們這次要驗(yàn)證的重點(diǎn),因?yàn)檫@個(gè)太普通,我們這次要說(shuō)明的是我們?nèi)绾卧诿總€(gè)組件中都獲取單獨(dú)的LoggerService實(shí)例,即每個(gè)組件的實(shí)例都不同。這個(gè)就需要對(duì)ng2的依賴(lài)注入有所了解才可以。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26