Angular中怎樣建立service服務來實現元件之間呼叫公共方法
阿新 • • 發佈:2021-08-10
Angular元件之間不能互相呼叫方法,但是可以通過建立服務來實現公共方法的呼叫。
實現
建立服務命令
ng g service 服務路徑/服務名
比如這裡在app/services目錄下建立storage服務
ng g service services/storage
在app.module.ts中引入建立的服務
在applmodule.ts中引入建立的服務
import {StorageService} from './services/storage.service';
並在MgModule裡面的providers裡面依賴注入服務
在使用的頁面引入服務並註冊服務
這裡在search這個元件中呼叫服務的方法,所以開啟search這個元件的ts
import {StorageService} from '../../services/storage.service';
並在構造方法中註冊服務
constructor(private storage:StorageService) { }
注意這裡呼叫的路徑,service服務與元件的位置關係如下
這裡註冊服務時在構造方法中private storage:StorageService,storage名字自己隨意起,後面的StorageService要與上面引入時
相對應。
呼叫服務的方法
上面在要呼叫服務方法的ts中使用private storage:StorageService註冊服務後可以直接通過
this.storage.get();
呼叫其中的方法。
get()方法需要提前在service中提前宣告
為了測試方法的呼叫,在search這個元件的ngInit方法中呼叫
ngOnInit(): void { this.storage.get(); }