1. 程式人生 > >Angular2筆記(三)--服務與依賴注入

Angular2筆記(三)--服務與依賴注入

3.核心概念

3.服務與依賴注入

A.服務
服務是實現專一目的的邏輯單元, 如日誌服務,服務就是一個普通的類,類裡面定義了一些例項函式,通常使用在元件內部,作為元件功能的一個擴充套件,使用時需要引入依賴注入
依賴注入
依賴注入是元件引入外部構建(如服務)的一種機制
例如服務,實際上引入的是這個服務的例項
所以服務在被引入之前會有一個例項化的過程,並且這個例項通常要被快取下來,以備其他元件使用
所以管理例項化以及例項快取的過程正是依賴注入機制所實現的
服務的例項儲存在依賴注入機制建立的注入器物件裡,當元件需要依賴某個服務的時候,依賴注入機制會從注入器物件裡查詢匹配的例項,找到後便執行注入操作,一個依賴注入的例子

@Component({
  selector:'hello',
  template:'<p>{{greeting}}</p>',
  providers:[LoggerService]//依賴注入配置
})

export class HelloComponent1{
  private greeting: string;
  constructor(logger:LoggerService){
    this.greeting='Hello,Angular 2!';
    logger.debug('建構函式執行完畢');
  }
}

依賴注入可以作用在元件上也可以作用在模組裡

分層注入
根元件注入一個服務,整個元件樹都可以使用,一處修改,整個例項都會改變,如果某個地方要改變,可以使用分層注入,重新注入後不會映像其他
這裡寫圖片描述

相關推薦

Angular2筆記--服務依賴注入

3.核心概念 3.服務與依賴注入 A.服務 服務是實現專一目的的邏輯單元, 如日誌服務,服務就是一個普通的類,類裡面定義了一些例項函式,通常使用在元件內部,作為元件功能的一個擴充套件,使用時需要引入依賴注入 依賴注入 依賴注入是元件引入外部構建

SpringCloud踩坑筆記-------服務註冊消費

本文建立在上一篇文章《SpringCloud踩坑筆記(二)-------Eureka》之上。啟動 Eureka Server 之後,我們將註冊一個服務到 Eureka Server 中,然後嘗試去消費它。 一、建立服務提供者        

Maven實戰讀書筆記:Maven依賴

aging com cti 無效 type -c maven 傳遞依賴 歸類 3.1 依賴的配置 一個依賴聲明可以包含下面元素: <dependencies> <dependency> <groupId></

Matlab學習筆記--選單控制元件

26、選單的建立 使用函式uimenu建立選單. 使用示例: clear all ; clc ; rect=get(0,'screenSize');%獲取螢幕尺寸 N=512;%螢幕尺寸 %建立圖形視窗 gwin=figure('MenuBar','none','Nu

OpenLayers學習筆記— QMLHTML通信之 地圖上點擊添加自由文本

web osi target eps open 文本輸入框 ref append tee 實現在地圖隨意點擊,彈出文本輸入框,輸入任意文字,完成自由文本添加的功能 作者: 狐貍家的魚 Github: 八至 本文鏈接:地圖上點擊添加自由文本 關於如何QML與

Unity3D 學習筆記 輸入輸出

輸入類  --》 輸入系統的介面 虛擬軸 定義軸向概念 使用成堆按鈕來設定軸的正向或負向的數值,形象對應遊戲操縱桿中搖桿或按鍵在某個方向重的正負最大形成 Edit ->Project Settings -> Input 在屬性編輯器中顯示輸入管理類 可以使用某

Android學習筆記--ListViewRecyclerView

在學習了幾天Android之後,打算寫個簡單的app來試試手,於是就想寫一個“便籤”。在寫列表的時候自然的想到了用一個ListView然後配置一個adpter來顯示資訊,但是呢,在逛論壇的時候發現現在使用RecyclerView的比較多,於是就看了幾個demo,

spring學習筆記14——泛型依賴注入

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

AngularJS模組依賴注入、函式依賴注入

1.模組與依賴注入angular.module('myApp', []);是初學時用到的,定義ng-app="myApp"這個應用,這就是一個模組。( )裡的內容分兩部分:    1. 前部分為name,要和ng-app的值保持一致;    2. 後面是一個字串陣列[ ],為

Android BLE終端通信——client服務端通信過程以及實現數據通信

.sh 沒有 indexof 實例 解析 rip listview filter @override Android BLE與終端通信(三)——client與服務端通信過程以及實現數據通信 前面的終究僅僅是小知識點。上不了臺面,也僅僅能算是起

python3學習筆記多線程多進程

ttr pid make start lee close gif 自己 oops 線程thread,庫threading 進程process,庫Process 使用起來方法跟其他語言相似,也不需要下載其他的庫,語言自帶的庫裏就有 1.多線程的例子 1 #coding=

大數據筆記——Hadoop2.0的安裝配置

false file default blog frame start tar.gz man ces 一.Hadoop安裝部署的預備條件 準備:1、安裝Linux和JDK    2、關閉防火墻    3、配置主機名 解壓:tar -zxvf

影象處理影象識別筆記影象增強1

影象增強的目的是為了改善影象的視覺效果,為了更便於人或機器的分析和處理,在不考慮影象降質(前提)的情況下,提高影象的可觀性。灰度變換是一種典型的影象增強方法,我們通常把影象處理按照處理方法分成空域方法與頻域方法兩類,灰度變換是一種對點處理的空域處理方法。 一、灰度變換 將一個灰度區間

java學習筆記--物件程式設計-類方法下

***重要*** 程式碼塊     定義:使用{}定義的一段程式碼     根據程式碼塊出現的位置以及關鍵字不同,分為以下四類程式碼塊 普通程式碼塊        

《聯盟》讀書筆記:如何協調員工公司的目標和價值觀

前面已經介紹了通過誠實對話使員工與公司建立信任,且介紹了針對不同型別員工的任期制。但是很多情況下,員工與公司的目標和價值觀很難保持一致,並且現在公司不可能指望企業目標成為員工的唯一目標,那麼如何協調員工與公司的目標和價值觀?公司與員工的目標與價值觀存在共性才有可協調空間,一些明顯的共性會自然

資料結構演算法筆記陣列

3.陣列 陣列(Array)是一種線性表資料結構。它是一組連續的記憶體空間,來儲存一組具有相同型別的資料。 3.1 特性 線性表 資料排成像一條線的結構,如陣列、連結串列、佇列、棧等。 與之相對立的是非線性,如二叉樹、堆、圖等,其資料之間並不是簡單的前後關係。

Spring Cloud服務註冊發現

Spring Cloud(三)服務註冊與發現 案例中有三個角色:服務註冊中心、服務提供者、服務消費者,其中服務註冊中心就是eureka單機版啟動既可,流程是首先啟動註冊中心,服務提供者生產服務並註冊到服務中心中,消費者從服務中心中獲取服務並執行。 這裡新建兩個spring boo

Scala學習筆記:==,eqequals的區別

== Scala中==與java中不同,它是比較值是否相等的,無論比較物件是否是相同型別 List(1, 2, 3) == List(1, 2, 3) //true 1==1.0//true equals 同類型 與==作用相同,都是比較值是否相同 不同型別 返回false,如 1.equal

資料結構演算法筆記反轉部分連結串列

反轉部分連結串列 上次我們搞定了反轉單向連結串列和雙向連結串列的問題,但實際過程中我們可能只要反轉部分連結串列,在這種情況下我們需要對上次寫出的類增加一個叫做reverse_part_linklist的函式,傳入引數為兩個整數from和to,將from到to之間的節點進行反轉

linux筆記------程序服務

#######系統程序及服務的控制####### ##1.什麼是程序## 程序就是系統未完成並且正在進行的工作 ##2.檢視程序## (1)圖形方式檢視 gnome-system-monitor (2)程序檢視命令 ps -A ##所有程序 -a