---
# System prepended metadata

title: 9. Services and Dependency Injection
tags: [Angular Getting Started]

---

---
title: 9. Services and Dependency Injection
tags: Angular Getting Started
image:
---

# 9. Services and Dependency Injection

![](https://i.imgur.com/Zr81qhq.png)

![](https://i.imgur.com/yJXPapg.png)

取得資料的工作可以交給 service

> ng g service hero

==至於為什麼不在建構子（constructor）呼叫Service的方法呢？在目前的範例是其實是可以的，不影響結果。但建構子的功能應該要是將它的參數賦值給類別的資料成員，而非做其他有的沒的事情。== [Link](https://medium.com/chikuwa-tech-study/angular-%E7%AC%AC6%E8%AA%B2-%E6%9C%8D%E5%8B%99%E7%9A%84%E5%9F%BA%E6%9C%AC%E8%A7%80%E5%BF%B5-88546528fbba)

![](https://i.imgur.com/isGFZh0.png)


**在介紹使用 @Injectable() 裝飾 service 的 class 的時候提到了要在他的 metadata 中設定 providedIn，如果將它設定為 root 的話代表這個 service 在整個專案中都是可被使用的** 
![](https://i.imgur.com/dhGi4US.png)

[Link](https://ithelp.ithome.com.tw/articles/10261405?sc=iThelpR)

將 service 實例化 object 注入給一個 component

* Dependency Injection
快速 inject class:
```
constructor(private coffee: CoffeeService){}
```

TB 權限