Service
說明
- Service用途:
- 專為執行某些特定功能的程式
- 將重複性的程式放入Service,供多支作業使用
- 可以利用依賴注入,將Service作為參數傳入其他元件內,讓元件物件的屬性指向到該Service物件,使用Service的屬性或方法
- 在元件中如果要使用依賴注入Service,必須由元件所屬的module作為DI Container,import該Service然後作為該Service的Provider
利用angular-cli產生Service檔
ng g s Service名稱
程式碼範例:
1.建立test-service.ts
ng g s test
2.在test.service.ts
中的程式碼如下,Injectable()
代表這個class可用依賴注入的方式傳入其他元件或service內當參數
import { Injectable } from '@angular/core';
@Injectable()
export class TestService {
constructor() { }
}
3.在TestService
中撰寫方法sayHi(){}
export class TestService {
constructor() { }
sayHi(){
alert("Hi~");
}
}
4.在app.component.ts
中撰寫建構式方法,並且用依賴注入方式傳入TestService
export class AppComponent {
constructor(private testService: TestService){ this.testService.sayHi()}
title = 'app works!';
}
5.在app.module.ts
中importTestService
並且作為provider
@NgModule({
...
providers: [TestService],
...
})
6.刷新頁面時會執行TestService的sayHi()方法,跳出alert視窗