Service 用途
Service 是可以 injectable 的一種 class,
可以將 Angular Web App 的 業務邏輯 & 數據操作 Component 進行簡化,
改由 Service 負責提供 Component 所需的邏輯 & 數據,
讓 Component 可以必較容易進行數據間的溝通,
而不需要直接進行數據操作,
也可以將 Service 注入 Service,
也就是所謂的 injectable
Service 的注入
Service 可以通過注入方式在 Component 之間進行共享,
可以使用 Dependency Injection 來實現注入,
當一個 Component 需要使用某個 Service 的時候,
可以在該 Component 的 constructor
中聲明一個對應的參數,
當該 Component 被創建時,
就可以在 Component 中呼叫該 Service 中的物件 or 方法
import { Component } from "@angular/core";
// 這裡引用要使用的 Service
import { MyService } from "./my.service";
@Component({
selector: "my-component",
template: "<h1>{{data}}</h1>",
})
export class MyComponent {
data: string;
// 在這注入要使用的 Service
constructor(private myService: MyService) {
this.data = myService.getData();
}
}
在上面的範例中,
constructor
聲明了 myService
,
從而實現了對 MyService
的注入,
通過調用 myService
中 getData()
取得 MyService
的值
todo: provider