
- 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 屬性。
儲存所有程式碼更改並重新整理瀏覽器,您將獲得以下輸出。

廣告