官术网_书友最值得收藏!

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 (); }

? 服務都是單例的,一旦創建則被緩存起來循環使用。

? 服務一旦實例化,將在整個應用的生命周期中存在,可以用來共享數據。

? 在需要使用的地方利用依賴注入機制注入服務。

? 依賴注入時,自定義的服務需要寫在內置的服務后面。

主站蜘蛛池模板: 新和县| 新丰县| 宜昌市| 封开县| 永吉县| 赫章县| 怀远县| 绥中县| 万州区| 洪湖市| 资兴市| 东宁县| 南宫市| 左贡县| 即墨市| 鄯善县| 册亨县| 南郑县| 库尔勒市| 信宜市| 辛集市| 花垣县| 梅州市| 庆安县| 彭州市| 德令哈市| 大连市| 兴义市| 红安县| 托克托县| 红安县| 阳东县| 军事| 长沙县| 上栗县| 五峰| 元谋县| 亚东县| 习水县| 郓城县| 开鲁县|