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

Injectable services

Now, let's create the boilerplate we need for our services. Note here that the injectable decorator is imported from Angular to declare that our service will be made available through Angular's Dependency Injection (DI) system, which allows these services to be injected into any class constructor that may need it. The DI system provides a nice way to guarantee that these services will be instantiated as singletons and shared across our app. It's also worth noting that we could alternatively provide these services on the component level if we didn't want them to be singletons and instead have unique instances created for certain branches of our component tree, which will make up our user interface. In this case, though, we want these created as singletons. We will be adding the following to our CoreModule:

  • LogService: Service to funnel all our console logging through.
  • DatabaseService: Service to handle any persistent data our app needs. For our app, we will implement the native mobile device's storage options, such as application settings, as a simple key/value store. However, you could implement more advanced storage options here, such as remote storage through Firebase for example.

Create app/modules/core/services/log.service.ts:

// angular
import { Injectable } from '@angular/core';
@Injectable()
export class LogService {
}

Also, create app/modules/core/services/database.service.ts:

// angular
import { Injectable } from '@angular/core';
@Injectable()
export class DatabaseService {
}
主站蜘蛛池模板: 临沂市| 丰县| 台北县| 新和县| 石棉县| 门头沟区| 陆丰市| 山阳县| 阳新县| 始兴县| 兴安盟| 石城县| 白玉县| 龙里县| 武威市| 正镶白旗| 江陵县| 永春县| 兖州市| 勐海县| 英德市| 保靖县| 遂昌县| 原平市| 鄂托克前旗| 丽江市| 闽侯县| 温宿县| 甘孜县| 山阴县| 日土县| 东乡县| 大化| 蓬安县| 宝应县| 中宁县| 吉首市| 丹江口市| 张家港市| 岢岚县| 凤冈县|