Open hsiaofung opened 4 years ago
+服務做了哪些事?(定義了那些服務)
什麼是相依注入?
服務是個鏈,可以在根注入(provider)服務,或在元件層注入服務,會以最先進的服務找起,一路往上。
類似你把服務關掉,不再往上傳。改變的影響只到你指定的範圍。
通常你只會在根層級登記你的服務。但有時候你會想要使用Angular 注入程序的這個功能,例如:
最後是服務的非同步程式:
步驟:
更簡單的方法:
public stocks$: Observable<Stock[]>;
// 呼叫並儲存可觀察 this.stocks$ = this.stockService.getStocks();
<app-stock-item *ngFor="let stock of stocks$ | async" [stock]="stock" (toggleFavorite)="onToggleFavorite($event)"> </app-stock-item>
總結:
Injectable 修飾詞 : 它回提示Angular 相依注入統此服務可能有其他相依檔案。加上Injectable修飾詞後Angular 會處理服務的注入。
StockService : 元件會向服務要資料。由服務決定如何取得資料,無論是透過HTTP呼叫網路服務、本地儲存體或快取、或回傳假資料。後續若要改變來源,我們可以修改這裡而無須更動元件,只要API格式還相同即可。