- Ionic 移動開發入門與實戰
- 秦超 李一鳴
- 366字
- 2019-07-30 17:53:19
3.6 服務類組件
本節將介紹的3種主要服務類組件,除了一些細微的差別外,它們都可以用于封裝可復用的業務邏輯代碼。
Angular提供了Provider來定義(注冊)開發者自己的服務,服務的命名一般使用服務名稱的小寫形式(基本名),加上.service后綴。例:
hello.service.ts
接下來我們將演示一下如何寫一個服務類,并使用依賴注入。首先編寫一個簡單的hello.service:
import { Injectable } from '@angular/core';
@Injectable() export class HelloService { printHello():void{ console.log('Hello Ionic'); } }
到app.module.ts中注冊一個provider:
// 引入HelloService類,from后面的是路徑 import { HelloService } from './hello.service';
//在構造函數中進行依賴注入 @NgModule({ … providers: [HelloService], … })
然后我們就可以到需要的頁面中引入該服務了:
import { HelloService } from './hello.service';
… //在構造函數中進行依賴注入 constructor(private helloService: HelloService) { // 調用printHello方法 this.helloService.printHello (); }
? 服務都是單例的,一旦創建則被緩存起來循環使用。
? 服務一旦實例化,將在整個應用的生命周期中存在,可以用來共享數據。
? 在需要使用的地方利用依賴注入機制注入服務。
? 依賴注入時,自定義的服務需要寫在內置的服務后面。
推薦閱讀