- Angular 教程
- Angular - 首頁
- Angular - 概述
- Angular - 功能
- Angular - 優點與缺點
- Angular 基礎
- Angular - 環境搭建
- Angular - 第一個應用
- Angular - MVC 架構
- Angular 元件
- Angular - 元件
- Angular - 元件生命週期
- Angular - 檢視封裝
- Angular - 元件互動
- Angular - 元件樣式
- Angular - 巢狀元件
- Angular - 內容投影
- Angular - 動態元件
- Angular - 元素
- Angular 模板
- Angular - 模板
- Angular - 文字插值
- Angular - 模板語句
- Angular - 模板中的變數
- Angular - SVG 作為模板
- Angular 資料繫結
- Angular - 資料繫結及其型別
- Angular - 資料繫結
- Angular - 事件繫結
- Angular - 屬性繫結
- Angular - 屬性繫結
- Angular - 類和樣式繫結
- Angular 指令
- Angular - 指令
- Angular - 內建指令
- Angular 管道
- Angular - 管道
- Angular - 使用管道轉換資料
- Angular 依賴注入
- Angular - 依賴注入
- Angular HTTP 客戶端程式設計
- Angular - 服務
- Angular - HTTP 客戶端
- Angular - 請求
- Angular - 響應
- Angular - GET 請求
- Angular - PUT 請求
- Angular - DELETE 請求
- Angular - JSON-P
- Angular - 使用 HTTP 進行 CRUD 操作
- Angular 路由
- Angular - 路由
- Angular - 導航
- Angular - Angular Material
- Angular 動畫
- Angular - 動畫
- Angular 表單
- Angular - 表單
- Angular - 表單驗證
- Angular Service Workers & PWA
- Angular - Service Workers & PWA
- Angular 測試
- Angular - 測試概述
- Angular NgModule
- Angular - 模組介紹
- Angular 高階
- Angular - 身份驗證與授權
- Angular - 國際化
- Angular - 可訪問性
- Angular - Web Workers
- Angular - 伺服器端渲染
- Angular - Ivy 編譯器
- Angular - 使用 Bazel 構建
- Angular - 向後相容性
- Angular - 響應式程式設計
- Angular - 指令和元件之間的資料共享
- Angular 工具
- Angular - CLI
- Angular 其他
- Angular - 第三方控制元件
- Angular - 配置
- Angular - 資料顯示
- Angular - 裝飾器和元資料
- Angular - 基本示例
- Angular - 錯誤處理
- Angular - 測試和構建專案
- Angular - 生命週期鉤子
- Angular - 使用者輸入
- Angular - 最新動態?
- Angular 有用資源
- Angular - 快速指南
- Angular - 有用資源
- Angular - 討論
Angular - 依賴注入
依賴注入是在執行時新增元件功能的能力。讓我們來看一個示例以及實現依賴注入的步驟。
步驟 1 - 建立一個單獨的類,該類具有可注入裝飾器。可注入裝飾器允許將此類的功能注入並用於任何 Angular JS 模組。
@Injectable()
export class classname {
}
步驟 2 - 接下來,在您的 appComponent 模組或您想要使用該服務的模組中,您需要在 @Component 裝飾器中將其定義為提供程式。
@Component ({
providers : [classname]
})
讓我們來看一個如何實現此目標的示例。
步驟 1 - 為名為 app.service.ts 的服務建立一個 ts 檔案。
步驟 2 - 將以下程式碼放入上面建立的檔案中。
import {
Injectable
} from '@angular/core';
@Injectable()
export class appService {
getApp(): string {
return "Hello world";
}
}
關於上述程式,需要注意以下幾點。
從 angular/core 模組匯入 Injectable 裝飾器。
我們正在建立一個名為 appService 的類,該類用 Injectable 裝飾器裝飾。
我們正在建立一個名為 getApp 的簡單函式,該函式返回一個名為“Hello world”的簡單字串。
步驟 3 - 在 app.component.ts 檔案中放置以下程式碼。
import {
Component
} from '@angular/core';
import {
appService
} from './app.service';
@Component({
selector: 'my-app',
template: '<div>{{value}}</div>',
providers: [appService]
})
export class AppComponent {
value: string = "";
constructor(private _appService: appService) { }
ngOnInit(): void {
this.value = this._appService.getApp();
}
}
關於上述程式,需要注意以下幾點。
首先,我們在 appComponent 模組中匯入我們的 appService 模組。
然後,我們在此模組中將服務註冊為提供程式。
在建構函式中,我們定義一個名為 _appService 的變數,其型別為 appService,以便可以在 appComponent 模組中的任何位置呼叫它。
例如,在 ngOnInit 生命週期鉤子中,我們呼叫了服務的 getApp 函式並將輸出分配給 AppComponent 類的 value 屬性。
儲存所有程式碼更改並重新整理瀏覽器,您將獲得以下輸出。
廣告