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

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 {
}
主站蜘蛛池模板: 厦门市| 商河县| 永寿县| 永州市| 芦山县| 青浦区| 武隆县| 苏州市| 南漳县| 来凤县| 永新县| 贞丰县| 楚雄市| 隆安县| 民和| 玉树县| 芜湖市| 泰来县| 德清县| 泸定县| 乌兰县| 三穗县| 卓尼县| 类乌齐县| 海晏县| 八宿县| 南投市| 库车县| 昌吉市| 楚雄市| 澄城县| 万安县| 枝江市| 阿拉善右旗| 西华县| 如皋市| 乃东县| 资溪县| 桃园县| 蓝山县| 河间市|